我正在尝试获取按company
排序的核心数据模型我目前收到一条错误消息,指出我有一个未知的接收器device
。我做错了什么?
编辑:以下是我收到的错误:
这是一些代码 -
- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
// Fetch the devices from persistent data store
NSManagedObjectContext *managedObjectContext = [self managedObjectContext];
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] initWithEntityName:@"Device"];
self.devices = [[managedObjectContext executeFetchRequest:fetchRequest error:nil] mutableCopy];
NSArray *sortDescriptors = @[
[NSSortDescriptor sortDescriptorWithKey:@"company" ascending:YES]
];
NSArray *sortedPeople = [self.devices sortedArrayUsingDescriptors:sortDescriptors];
NSLog(@"%@", sortedPeople);
[self.tableView reloadData];
}
答案 0 :(得分:0)
从你的评论来看,似乎错误的是这一行:
NSArray *sortedPeople = [Device sortedArrayUsingDescriptors:sortDescriptors];
问题似乎是编译器不知道Device
。换句话说,你说你要对某些东西进行排序,但是编译器无法弄清楚你想要排序的东西。
看起来Device
是核心数据实体类型,但是根据您的问题,我无法确定您是否确实有一个名为Device
的类。您在获取请求中使用了@"Device"
,但编译器不会尝试将字符串解析为符号。因此无法确定您需要修复的内容。根据您对要执行的操作的描述,可能想要将该行更改为
NSArray *sortedPeople = [self.devices sortedArrayUsingDescriptors:sortDescriptors];
你还提到过这样做会导致崩溃。但是在评论中经过多次来回之后,你仍然没有弄清楚崩溃发生时你可能会得到什么错误或其他消息。结果,谁知道?也许Device
实体没有名为company
的属性,因此排序失败。也许别的东西。如果您在重复请求后仍不愿意提供问题的重要细节,那么所有人都可以尝试猜测。