1. 问题:两个类相互引入/包含,导致IDE报错,无法进入编译过程
环境: A.h #import “B.h”
B.h #import “A.h”
解: B类中.h文件用@class A;声明A是一个类
B类.m文件用#import “A.h”
A类.h文件依然用原来的#import “B.h”
解题思路:虽然解决了导包问题,编译也通过,但如果A类有B类型的属性,B类中A类型的属性,这样任然会造成相互引用,当程序结束后,因A类与B类的相互引用,无法释放掉内存。A类/B类对象仍旧存在,最终导致内存泄露,所以还要讲一个类中对另一个类的引用的属性用__weak修饰,这样才不会导致相互引用。
2. @interface成员变量与@implementation全局变量
前者为实例变量,可继承, 公有,可定义属性
后者为全局变量,不可继承, 私有,可定义属性
3. switch用法规范,防止在创建对象时报错
switch(){
case 1:{
//处理代码
//case 1:后面一定要跟上{}
break;
}
}