我有一个名为“sensor”的强指针,指向“SensorDB”类的对象。
我尝试创建一个 NSFetchedResultController 以便在“传感器”对象内部发生变化时通知我的 UIViewController。
为了将所需的对象放入我的 NSFetchedResultController,我创建了以下 NSPredicate:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"self == %@", self.sensor];
目标是,我在 NSFetchedResultController 中只有一个对象并获得有关任何更新的通知,以便我可以更新我的 GUI。
但是如果我运行我的应用程序,当我尝试分配和初始化 NSFetchedResultController 时,应用程序会崩溃。
这是我的 NSFetchedResultController 代码:
- (NSFetchedResultsController *)fetchedResultsControllerSensor
{
if (_fetchedResultsControllerSensor != nil) {
return _fetchedResultsControllerSensor;
}
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"SensorDB" inManagedObjectContext:dbHandler.managedObjectContext];
[fetchRequest setEntity:entity];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"self == %@", self.sensor];
[fetchRequest setPredicate:predicate];
[fetchRequest setFetchBatchSize:20];
NSFetchedResultsController *theFetchedResultsController =
[[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:dbHandler.managedObjectContext sectionNameKeyPath:nil cacheName:@"SensorCache"];
self.fetchedResultsControllerSensor = theFetchedResultsController;
_fetchedResultsControllerSensor.delegate = self;
return _fetchedResultsControllerSensor;
}
感谢您的帮助或其他/更好的方法
利纳德