关于一些UI的property应该使用retain、strong还是weak还有其他一些问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于一些UI的property应该使用retain、strong还是weak还有其他一些问题相关的知识,希望对你有一定的参考价值。

关于一些UI的property应该使用retain、strong还是weak。1、在斯坦福大学的那个视频上看到的是说使用weak,ios5会帮你做剩余的一切,连release也不用了,dealloc都不用重载了(或许我没看那么认真,感觉好像是这样)。2、在公司的项目代码上经常看到使用retain3、使用@property进行了声明,还需要声明实例变量吗(在Interface下面打两个花括号那种)。在斯坦福大学的那个视频上好像没看到使用实例变量(目前看到第三个)。4、目前流行的iphone4和iphone4s是使用ios4吗?那为了兼容,是否不应该使用ios5的新特性。

参考技术A 我只说说我自己的理解哈:
1、对于retain来说,一般指的是指针,这些属性需要保存引用计数,防止出现僵尸的情况,当时对于NSString类型,这个不是retain,而是copy,但是对于strong来说,这些你都不需要考虑,它会自己判断是选择retain还是copy,而对于assign来说,一是非指针变量,比如说NSInteger之类的,还有就是避免出现循环引用的时候,对于weak,其和assign差不多,但是它多了一点,就是,它会自动对该类型变量设置为nil。
2、至于公司经常使用retain的原因,一个是由于编码习惯,还有就是根据项目需要。
3、是否需要声明实例变量,这些都要看特殊情况的,假如在interface中你并没有声明实例变量,但是你在对于的.m文件中@synthesize的时候,那个时候其实就表明了你已经声明这个实例变量了。
4、对于这个问题,系统是可以升级的,并没有什么规定iphone4s只能使用IOS4。

以上是关于关于一些UI的property应该使用retain、strong还是weak还有其他一些问题的主要内容,如果未能解决你的问题,请参考以下文章

关于方法后带宏UI_APPEARANCE_SELECTORDE与普通的区别

UI 网络请求(同步GET,同步POST,异步GET,异步POST)具体操作

保留计数问题:请提供一些指导

iOS 开发 property,strong,weak,retain,assign,copy,nomatic 的区别及使用

关于@property()的那些属性及ARC简介

写一个 setter 方法用于完成 @property (nonatomic, retain) NSString *name,