我正在尝试学习 Core Data 的工作原理。所以我创建了一个具有属性的实体,为我的实体获取了 xcdatamodel 文件以及 .h 和 .m 文件。伟大的。
我还在我的应用程序委托中编写了以下代码,以向我的实体添加数据:
TestEntity *newEntity = [NSEntityDescription
insertNewObjectForEntityForName:@"TestEntity"
inManagedObjectContext:self.managedObjectContext];
newEntity.entityName = @"temp";
NSError *savingError = nil;
if([self.managedObjectContext save:&savingError]){
NSLog(@"Success");
}
else{
NSLog(@"Fail");
}
到目前为止,一切都很好。但现在我想在我的主视图控制器中访问这些数据,即 entityName。这就是我迷路的地方。我阅读了源代码示例,其中大多数说执行以下操作
NSError *requestError = nil;
NSFetchRequest *fetchrequest = [[NSFetchRequest alloc] initWithEntityName: @"TestEntity"];
NSArray *entities = [self.managedObjectContext executeFetchRequest: fetchrequest error:&requestError];
这应该给我一个名为实体的数组,里面装满了 TestEntity 对象。所以我应该可以通过说entities.entityName
.
但是我收到一条错误消息,说 managedobjectcontext 不是此视图控制器的属性。这对我来说很有意义,但我无法弄清楚解决方案是什么?我是否只需要在要使用核心数据的每个类中实现必要的 coredata 属性/方法?