Ios 项目中代码注意事项

  • 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,

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值