0

嗨,我在我的应用程序中使用核心数据,出于某种原因,我第一次写入它时工作,然后我得到错误。

- (void)addClass {

      MyClass *myclass = (MyClass *)[NSEntityDescription insertNewObjectForEntityForName:@"MyClass" inManagedObjectContext:managedObjectContext];

      [myclass setTeacher:@"Mr B"];

      [myclass setSubject:@"Computing"];

      [myclass setRoom:@"ITB"];
      NSError *error;
      [managedObjectContext save:&error];
      [eventArray insertObject:myclass atIndex:0];
     //[self.tableView reloadData];

}

打印结果

4

2 回答 2

2

<fault>不是错误。在特别调用之前它不会加载该项目。<fault>只是一个占位符对象,以便节省内存

https://developer.apple.com/library/ios/documentation/cocoa/conceptual/CoreData/Articles/cdFaultingUniquing.html

于 2013-10-18T21:06:16.100 回答
1

你指的是数据:故障

你看到的标签?

如果是这样,那实际上不是问题,数据确实存在,只是没有加载 NSLog 来捕获它。

现在,你有 6 个实际存在的 MyClass 实例,但 NSLog 只提取了第 6 个的具体数据。

您可以通过循环遍历您现在提供给 NSLog 的任何 NSMutableArray 来验证它是否确实存在,并让它在每次迭代时吐出各个属性,而不仅仅是每个 NSManaged 对象的描述。

于 2013-10-18T20:52:34.367 回答