私は、KVCメカニズムが、相互に逆の関係である関係プロパティを処理するときに何らかの助けを提供するかどうかを理解しようとしています。考案された標準的な部門/従業員の例を使用します。
@interface Department : NSObject {
NSMutableArray *employees;
}
@property (retain) NSMutableArray *employees;
// KVC methods for mutating the employees array
@end
@interface Employee : NSObject {
Department *department;
}
@property (retain) Department *department;
これだけ(および省略されたKVC収集メソッド)で、KVCは両方向の関係を管理するためにどのようなヘルプを提供しますか?私は今、概念的な段階にあります。Core Dataを使用すると、明示的な逆の関係を設定できるため、を使用する[myDepartment insertObject:newEmployee inEmployeesAtIndex:lastIndex];
とnewEmployee.department
自動的にに設定されmyDepartment
ますが、KVCとランタイムのみでこれを実現できますか、それともCore Dataが必要ですか?
助けてくれてありがとう。
編集やや無関係ですが、重要です。私のコードでは、従業員のプロパティを部門にあるものとして配置しましretain
たが、これによって保持サイクルが発生するかどうか疑問に思っていますか?