2
我有一个相当复杂的托管数据模型,它有一个中心对象,它具有许多依赖于各种属性值的关系。我使用plists集合将初始数据导入模型,每个plist指定实体类的属性,然后根据这些属性填充关系。如何实现/增强核心数据关系getter/setter?
我想修改关系的getter,以自动获取受属性约束的对象。这里的推理是对建立关系进入被管理对象,进行输入逻辑的,但我没能做出飞如:
假设SubclassedManagedObject.m:
-1 #import "SubclassedManagedObject.h'
0 #import "OtherManagedObject.h"
1 @implementation SubclassedManagedObject
2 @dynamic attr1
3 @dynamic relation1 // which is an OtherManagedObject
4 - (OtherManagedObject *)relation1
5 {
6 if(relation1 != nil)
7 return relation1;
8 NSFetchRequest *request = [[NSFetchRequest alloc] init];
9 [request setEntity://the OtherManagedObject entity];
A [request setPredicate://predicate based on attr1];
B NSArray *results;
C results = [[self managedObjectContext] executeFetchRequest:request//..];
D if([results count])
E relation1 = [results objectAtIndex:0];
F }
这自爆向上在管线6与编译时:
error: 'relation1' undeclared (first use in this function)
,并在线路A,其中基于attR1位的值构建谓词:
error: 'attr1' undeclared (first use in this function)
我的问题是我想做什么或更可能做什么,有没有更好的方法来实现这一目标?