1,慎重使用单例,避免造成不必要的常驻内存。
2,Delegate需要使用weak引用。
3,使用block访问self时,使用weak和strong避免Retain Cycle。
4,strong引用子对象,weak引用父对象,基础类型使用assign,NSString、NSArray、block使用copy。
5,在dealloc方法中remove observer(KVO)。
6,指定repeat参数是YES的timer,必须在合适的时机调用invalidate方法。
7,在init和dealloc中除父类属性外,禁止使用self访问属性,只允许通过成员变量直接访问。
8,在使用到UIScrollView,UITableView,UICollectionView的class中,需要在dealloc中将delegate,dataSource置为nil。
iOS9以上类的delegate和datasource由assign改为了weak,如果只支持iOS9以上,可以不手动置nil。
9,禁止一次性申请超过10MB的内存。