下面的代碼是否不需要做任何事情?Objective-C iVars /屬性的內存管理技術
@interface MyClass {
NSArray *myArray;
}
-(void)replaceArray:(NSArray *)newArray;
@implementation MyClass
-(void)replaceArray:(NSArray *)newArray {
if(myArray)
{
[myArray release];
myArray = nil;
}
myArray = [[NSArray alloc] initWithArray: newArray];
}
@end
如果我做了以下修改:
1)製造myArray的屬性:
@property (nonatomic, retain) NSArray myArray;
2)改變了分配:
self.myArray = [NSArray arrayWithArray: newArray];
將允許我刪除條件?