这是一个显示我的意思的代码示例:
- (void) setup {
[self setupObjectModel];
[self setupStoreCoordinator];
}
- (void) setupObjectModel {
NSURL *modelURL = [[NSBundle mainBundle] URLForResource:@"Model" withExtension:@"momd"];
self.managedObjectModel = [[[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL] autorelease];
}
答案 0 :(得分:1)
如果managedObjectModel
是strong
属性或使用属性retain
定义,则setter将自动保留传递的参数,因此autorelease
将阻止内存泄漏(如果你不这样做,NSManagedObjectModel
的保留计数将为2,尽管只有managedObjectModel
指向它。)
这相当于
_managedObjectModel = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL];
假设setter具有默认行为