@implementation FirstScene
...
- (void)nextScene {
Meetings *meetings = (Meetings *) [NSEntityDescription insertNewObjectForEntityForName:@"Meetings" inManagedObjectContext:self.managedObjectContext];
NSManagedObjectID* objectID = [meetings objectID];
[secondScene setObjectID:objectID];
}
...
@end
@implementation SecondScene
....
- (void)viewDidLoad
{
[super viewDidLoad];
self.managedObjectContext = [(STAppDelegate *)[[UIApplication sharedApplication] delegate] managedObjectContext];
}
+ (void)setObjectID:(NSManagedObjectID*)objectID {
NSManagedObjectContext *context = [self managedObjectContext]; // ERROR
Meetings *theSameMeetings = (Meetings *)[context objectWithID:objectID];
}
...
@end
我得到一個錯誤」沒有已知的選擇‘managedObjectContext’類的方法在下面的代碼:CoreData:對象ID錯誤:「對於選擇沒有已知的類方法‘managedObjectContext’
NSManagedObjectContext *context = [self managedObjectContext];
我這裏的目標是將FirstScene中*會議(managedObjectContext)的objectID傳遞給SecondScene,以便我可以繼續添加到實體會議屬性中。謝謝。
謝謝。我對此很陌生。我是否在FirstScene或SecondScene中創建NSManagedObjectID的實例?你能否詳細說明一下「這將允許你將objectID分配給會議實例,然後從所述實例中檢索它。「 – user1107173 2013-02-13 18:34:56
你會想在你的AppDelegate中聲明managedObject Context,然後你需要在你需要訪問managedObjectContext的類中創建一個你的應用程序委託的實例,我將用代碼 – JeffN 2013-02-13 18:50:15
編輯我的答案謝謝你提供問題:是不是我已經在我的代碼中已經有什麼?我有這個代碼在需要訪問managedObjectContext在viewDidLoad中的每個類:self.managedObjectContext = [(STAppDelegate *)[[UIApplication sharedApplication] delegate ] managedObjectContext]; – user1107173 2013-02-13 22:17:12