objective-c – 对于私有变量使用@properties是否“坏”只是为了内存管理的好处?

前端之家收集整理的这篇文章主要介绍了objective-c – 对于私有变量使用@properties是否“坏”只是为了内存管理的好处?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
为私有变量创建@properties是不好用于内存管理的好处?

对于许多私有变量来说,公开面对@properties似乎是混乱和错误的.

(主要是使用相应的“事件”方法,在低内存条件下释放私人ivars.)

例:
我通常这样做来释放一个私人的ivar:

  1. [name release]; name = nil;

但是,在@properties中,我可以这样做:

  1. self.name = nil;

后来在我的代码中,会做到这一点,因此需要设置为nil:

  1. if( !name)
  2. name = [[NSString alloc] initWithFormat:@"Hi %@",inputName];

解决方法

另一种办法是保持私有财产.您可以使用以下代码(在.m文件中)使属性仅在类中可访问:
  1. #import "MyClass.h"
  2.  
  3. @interface MyClass ()
  4. @property (retain) NSString* privateString;
  5. @end
  6.  
  7. @implementation MyClass
  8.  
  9. @synthesize privateString;
  10. // Your code here
  11.  
  12. @end

现在,您已经拥有了一个属性的简便性,但是其他类仍然无法访问它,即使它们导入了.h文件

猜你在找的C&C++相关文章