Sorting 核心数据排序不起作用
我正在尝试获取按Sorting 核心数据排序不起作用,sorting,core-data,Sorting,Core Data,我正在尝试获取按公司排序的核心数据模型我当前收到一个错误,指出我有一个未知的接收器设备。我做错了什么 编辑:以下是我收到的错误: 这里有一些代码- - (void)viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; // Fetch the devices from persistent data store NSManagedObjectContext *managedObjectCo
公司排序的核心数据模型
我当前收到一个错误,指出我有一个未知的接收器设备
。我做错了什么
编辑:以下是我收到的错误:
这里有一些代码-
- (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];
}
从你的评论来看,问题似乎出在这一点上:
NSArray *sortedPeople = [Device sortedArrayUsingDescriptors:sortDescriptors];
问题似乎是设备
对编译器来说是未知的。换句话说,你说你想要排序,但是编译器无法确定你想要排序的是什么
看起来,Device
是一种核心数据实体类型,但从您的问题来看,我不能确定您是否确实有一个名为Device
的类。您在获取请求中使用了@“Device”
,但编译器不会尝试将字符串解析为符号。因此,不可能确定需要修复什么。根据您对所做工作的描述,您可能希望将该行更改为
NSArray *sortedPeople = [self.devices sortedArrayUsingDescriptors:sortDescriptors];
你还提到你在做那件事的时候撞车了。但是在经过多次反复的评论之后,你仍然没有给出任何线索,当崩溃发生时,你可能会收到什么错误或其他消息。结果,谁知道呢?可能
设备
实体没有名为公司
的属性,因此排序失败。也许是别的。如果您不愿意提供问题的关键细节,即使在多次请求之后,任何人都可以尝试猜测。如果您包含错误消息,这会有所帮助。[设备排序使用描述符:…]
没有任何意义。您要对哪个数组进行排序?也许[self.devices sortedarrayingdescriptor:…]
?当我实现self.devices时,它会在加载应用程序时崩溃。想法?设备实体是如何定义的?它是否具有“公司”属性您确切地得到了什么异常消息?这里是确切的错误:未知接收器“设备”,您是指“UIDevice”吗?您需要什么重要的详细信息?我如何找到您需要的详细信息?Martin和我都询问了应用程序崩溃时发生的错误的详细信息。这通常打印在Xcode的控制台中。Martin还询问了有关您的核心数据模型的信息,您可以通过查看它来获得这些信息。我在控制台中发现了以下消息:11/12/13 8:03:01.000 PM kernel[0]:USBF:485440.862 AppleUSBEHCI::在总线0x24上发现一个超过完成期限的事务,超时!(地址:7,EP:1)。对不起,我花了这么长时间才弄明白!这有帮助吗?消息出现在Xcode中?它看起来不像任何远程连接到您的代码的东西。在应用程序崩溃后,控制台几乎每秒钟都会发出该消息。