我有一个实现compare:
消息的NSManagedObject
子类。我想检索这些对象并使用此比较方法对它们进行排序,但显然我必须为NSSortDescriptor
提供key
。
我不想提供任何key
,因为对象本身已经知道如何比较自己。
如果我提供nil作为键的键:
r.sortDescriptors = @[[NSSortDescriptor sortDescriptorWithKey:nil
ascending:YES selector:@selector(compare:)]];
我得到以下错误:
failed: ((62) = ([[self.]Lib tags [count])) failed:抛出"keypath #self在实体中找不到"
我怎么能确保NSSortDescriptor
忽略任何key
,只是使用compare:
代替?
您是否尝试提供密钥@"self"
?
问题是我使用的是SQLite存储,你只能在依赖于SQLite存储的NSFetchRequest中使用建模属性。
这是非常令人困惑的,因为它在我的测试中工作(我使用内存存储),并在应用程序本身惨败。一个更好的错误描述可以节省很多时间。