0

私が何を意味するかを示すコード例を次に示します。

- (void) setup {
  [self setupObjectModel];
  [self setupStoreCoordinator];
}

- (void) setupObjectModel {
  NSURL *modelURL = [[NSBundle mainBundle] URLForResource:@"Model" withExtension:@"momd"];
  self.managedObjectModel = [[[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL] autorelease];
}
4

1 に答える 1

1

managedObjectModelstrongプロパティであるか、 attribute で定義されている場合retain、setter は渡された引数を自動的に保持するautoreleaseため、メモリ リークを防ぐことができます (そうしないと、それを指すNSManagedObjectModelだけですが、 の保持カウントは 2になります。 managedObjectModel)

これは、

_managedObjectModel = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL];

セッターがデフォルトの動作をしていると仮定します

于 2012-09-27T19:37:51.673 に答える