• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ios - 神奇的记录排序错误

[复制链接]
菜鸟教程小白 发表于 2022-12-12 10:55:38 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我创建了一堆 Group Entities:

for (NSString *groupID in result) {
    group = [Group MR_createInContext:context];

    group.groupID = [NSNumber numberWithInteger:[groupID integerValue]];
}

然后我想按排序列出它们:

NSArray *groups = [Group MR_findAllSortedBy"groupID" ascending:TRUE inContext:context];

for (Group *group in groups) {
    DLog(@"group.groupID: %@", group.groupID);
    DLog(@"group: %@", group);
}

产生错误:

-[__NSCFNumber caseInsensitiveCompare:]: unrecognized selector sent to instance 0x2595d2c0
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFNumber caseInsensitiveCompare:]: unrecognized selector sent to instance 0x2595d2c0'

我的组Entity是自动生成的:

#import <Foundation/Foundation.h>
#import <CoreData/CoreData.h>

@interface Group : NSManagedObject

@property (nonatomic, retain) NSNumber * groupID;

@end

@interface Group (CoreDataGeneratedAccessors)

@end

如果我在不使用 Magical Record 的情况下执行相同的提取操作,那就可以了:

NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] initWithEntityName"Group"];

NSSortDescriptor *sort = [[NSSortDescriptor alloc] initWithKey"groupID" ascending:TRUE selector:nil];

NSArray *sorters = [NSArray arrayWithObject:sort];

[fetchRequest setSortDescriptors:sorters];
NSError *error = nil;

NSArray *fetchedObjects = [context executeFetchRequest:fetchRequest error:&error];

任何想法为什么我会收到错误?



Best Answer-推荐答案


所以我检查了 github (https://github.com/magicalpanda/MagicalRecord) 上的 Magical Record 存储库,但没有看到您正在使用的方法(可能是因为文档中有一个关于排序方法的 bug用于获取已排序的实体,但我看到了另外两种推荐用于获取已排序实体的方法。

[entity MR_findAllSortedByProperty"property"descending:YES]//单个属性 [entity MR_findAllSortedByProperty"oneProperty,secondProp"升序:YES]//多个属性

关于ios - 神奇的记录排序错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16486269/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap