objective-c – NSManagedObject故障
我有一个NSManagedObject,它的一些属性在程序开始时初始化.当我稍后引用此对象时,它似乎出现故障,并且无法访问这些属性.我不确定我需要做什么.
这与添加到程序中的新功能相关,该程序已通过所有其他方式与核心数据平稳运行. 这是一个代码片段,它被初始化为单例的属性值. (我的代码的许多部分都可以访问该单例): favoritesCollection = [[SearchTerms alloc] initWithEntity:[NSEntityDescription entityForName:@"SearchTerms" inManagedObjectContext:moc] insertIntoManagedObjectContext:moc]; favoritesCollection.keywords = @"Favorites List"; favoritesCollection.isFavoritesCollection = [NSNumber numberWithBool:YES]; favoritesCollection.dateOfSearch = [NSDate NSCExtendedDateWithNaturalLanguageString:@"4000"]; favoritesCollection.pinColorIndex = 0; [moc save:&error]; NSLog(@"(favoritesCollection) = %@",favoritesCollection); } return favoritesCollection; 当我使用NSLog查看favoritesCollection时,我看到了这一点(我添加了一些换行符以便于阅读): (favoritesCollection) = <SearchTerms: 0x5c28820> (entity: SearchTerms; id: 0x5a6df90 <x-coredata://3936E19F-C0D0-4587-95B6-AA420F75BF78/SearchTerms/p33> ; data: { dateOfSearch = "4000-09-25 12:00:00 -0800";...*more things after this* 返回后,另一个NSLog显示内容完好无损. 当我稍后引用此实例时,我可以在调试器中看到: <SearchTerms: 0x5c28820> (entity: SearchTerms; id: 0x5a6df90 <x-coredata://3936E19F-C0D0-4587-95B6-AA420F75BF78/SearchTerms/p33> ; data: <fault>) 就这样. 所以我相信该对象被保留(我明确地将它保留在返回的位置).我有僵尸,它看起来不像僵尸. 我在程序中只有一个managedObjectContext,在单例中维护. 那么发生了什么,以及如何获得保存的属性? 解决方法
你的对象没有任何问题,我认为你可能在这里误解了“错误”的含义.
来自Apple的文档:
一旦您尝试访问任何对象的属性,它将在数据库中找到所有对象的属性. 更多细节在这里http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/CoreData/Articles/cdFaultingUniquing.html (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |