エンティティのセット(1対多の関係)LogBook
の属性(と呼ばれる)を持つと呼ばれるエンティティがあります。columns
LogBookColumn
可変の列のセットを取得するために私が見る標準的な方法は次のようです。
NSEntityDescription *myLogbook;
myLogbook = [NSEntityDescription insertNewObjectForEntityForName:@"LogBook"
inManagedObjectContext:self.managedObjectContext];
NSMutableSet *columns = [myLogbook mutableSetValueForKey:@"columns"];
3行目のメソッドの代わりに、ドット表記を使用したいと思います。そのために、andとも呼ばれるクラス定義LogBook
をLogBookColumn
作成し、@propertyを使用してセッターとゲッターを作成しました。
LogBook *myLogBook;
myLogbook = [NSEntityDescription insertNewObjectForEntityForName:@"LogBook"
inManagedObjectContext:self.managedObjectContext];
NSMutableSet *columns = (NSMutableSet *)myLogbook.columns;
それで、columns
本当にデフォルトで可変セットですか?確認するために2つのことを行いました。
- リストへの書き込みを試みました。例:
[columns addObject:aColumn];
- 質問:
BOOL isKindOfMutableSet = [myLogbook.columns isKindOfClass:[NSMutableSet class]];
どちらも期待どおりの結果で機能するため、この質問はやり過ぎになる可能性がありますが、追跡が困難なメモリエラーについて非常に心配しています。また、これを可変セットとして定義したので、質問isKindOfClass
が機能するかどうか疑問に思います。したがって、基盤となるメモリ組織が可変セットをサポートしていなくても機能しませんか?
上記のすべての要約は次のとおりです。これは、columns
プロパティ/属性にアクセスして変更するための正しい方法ですか?