CoreData関係を遅延ロードする正しい方法は何ですか?レイジーロードCoreData関係
私はProjectオブジェクトとProjectFilterオブジェクトが既に存在する場合と存在しない場合がありますが、これは期待どおりに機能しますか?
- (ProjectFilter *)filter
{
[self willAccessValueForKey:@"filter"];
ProjectFilter *filter = [self primitiveValueForKey:@"filter"];
[self didAccessValueForKey:@"filter"];
if (!filter) {
filter = [NSEntityDescription insertNewObjectForEntityForName:@"ProjectFilter" inManagedObjectContext:self.managedObjectContext];
self.filter = filter;
}
return filter;
}
良い点は、このときより良いアプローチは何でしょうか? – trapper
メソッド 'createFilterPropertyIfNeeded'が望ましいでしょう。 –