我试图弄清楚,在处理相互反向关系的关系属性时,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为管理双向关系提供了什么样的帮助?我现在只处于概念阶段。我知道通过核心数据,我可以设置显式的逆关系,因此当我使用
[myDepartment insertObject:newEmployee inEmployeesAtIndex:lastIndex];
然后
newEmployee.department
自动设置为
myDepartment
但是,我是否可以只使用kvc和运行时来实现这一点,或者我是否需要核心数据?
事先谢谢你的帮助。
编辑
有点不相关,但也很重要,在我的代码中,我把员工的财产作为
retain
但我想知道这是否会导致保留周期?