我对底线命名和自我有点困惑。下列代码可以吗?

@interface MyClass()

@property (nonatomic,retain) NSString        *name;
@property (nonatomic,retain) NSString        *surname;

@end

@implementation MyClass
@synthesize name = _name;
@synthesize surname = _surname;


然后,当我需要分配值时,执行此操作

self.name = [someParam retain];

最佳答案

否,这不行,因为self.name还将保留您在属性中声明的值。

这将保留:

self.name = someParam;


其他方式则相同(请注意释放当前的var):

if (_name != someParam) {
    if(_name) {
       [_name release], _name = nil;
    }
    _name = [someParam retain];
}

关于iphone - iOS变量名称和内存管理,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10549156/

10-10 03:53