Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sorting 核心数据排序不起作用_Sorting_Core Data - Fatal编程技术网

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中?它看起来不像任何远程连接到您的代码的东西。在应用程序崩溃后,控制台几乎每秒钟都会发出该消息。