Vol*_*ort 6 iphone objective-c ios
如果我在类接口中声明一个变量,我可以在我的类的任何地方使用这样的变量.真棒.
如果我使用@property (retain) Something *myVar;我可以访问该变量self.myVar...但是,有什么区别?我应该使用一种方法还是另一种方法?
简短回答:封装内存管理.
更长的答案:如果您想稍后使用它,您需要建立对象的所有权.如果你想在以后使用它,你需要用它来引用它,并且保持该引用的一个好地方是在一个实例变量中.
每次为此分配新值时,您都可以处理所有权声明(即保留和释放),但这样会留下大量重复且容易出错的样板代码遍布整个地方,例如水果蛋糕中的樱桃.当(不是)出现问题时,这种混乱很难调试.因此,将代码包装在访问器方法中要好得多,因此您可以编写一次然后忘记它.
但是访问器方法也大多是样板文件,所以我们使用@property声明来自动创建它们,而不是手工编写它们.
编辑:Apple的内存管理指南提供了很多关于@property在后台生成的访问器方法的详细信息.
| 归档时间: |
|
| 查看次数: |
2312 次 |
| 最近记录: |