如果是查询的话,因为 NSManagedObject 也不能跨线程访问,子线程处理好的数组在UI显示时需要做一个小的处理。在主线程中获取到的NSManagedObject对象data为Fault,这时主线程再通过 objectWithID 恢复对象的方法:
ActivityMonitorDateData *activityData = [data objectForKey:ActivityKEY];
AppDelegate *delegate = (AppDelegate*)[UIApplication sharedApplication].delegate;
ActivityMonitorDateData *activityNewData = (ActivityMonitorDateData *)[delegate.managedObjectContext objectWithID:activityData.objectID];
此时,再去使用activityNewData进行UI显示。