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)
我的問題是我想做什麼或更可能做什麼,有沒有更好的方法來實現這一目標?