- self不要用在init里面要用_在init里面不要用懒加载,确定用的控件没必要用懒加载
- 懒加载里面不要出现self. 在调用懒加载的属性时用self.
- 不要用懒加载加载东西,可能会一直持有这个对象,没办法重新复制(会变得地方不要慵加载)
- 给控件设置tag值得时候要加100或者等等,不要从0开始
- 点击事件最好用button( UITapGestureRecognizer可能会冲突)
- @property (assign) BOOL 这样用 对于一个BOOL的没必要用(nonatomic,)原子属性
- 在进行网络请求的时候Content-Type 最好加上因为有些后台识别不了有些后台可能识别不了是json类型的还是xml 类型的
- 关于数据方便的一定要多些判断使用自己定义的安全接口防止闪退
- 当一个类有可能为共享资源时,里面有改变数据时最好使用资源互斥锁
eg: @synchronized(self) - NSUserDefaults 存储数据时考虑到覆盖安装和后台里面有可能返回null
- 代理用weak来修饰
对于weak: 指明该对象并不负责保持delegate这个对象,delegate这个对象的销毁由外部控制。
对于strong:该对象强引用delegate,外界不能销毁delegate对象,会导致循环引用(Retain Cycles)
对于assing:也有weak的功效。但是网上有assign是指针赋值,
经过一番研究,发现如果使用 @property (nonatomic, assign, readwrite) id delegate;
会有crash,报错EXC_BAD_ACCESS
声明一个delegate,那么即便delegate指向的对象销毁了,delegate中依然会保存之前对象的地址
即,delegate成为了一个野指针…
而使用weak,则不会有上述问题,当delegate指向的对象销毁后,delegate = nil,