哪种方式是正确的?
NSString *c = [[NSString alloc] init];
self.character = c;
[c release];
或
self.character = [[NSString alloc] init];
为什么?谢谢。
最佳答案
这取决于您的属性(property)如何申报。如果您使用过
@property (nonatomic, retain) NSString *someString;
将创建 setter 来保留 someString,在这种情况下,正确的方法是第一个方法。如果您使用过:
@property (nonatomic, assign) NSString *someString;
您的第二种方法是正确的,因为它只会分配指针而不保留任何内容。
关于iphone - 哪种方式是使用属性分配内存的正确方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7395253/