我有带字符串属性的实体,称之为"选项" (entity.option是一个字符串)。我想执行一个获取请求,但我想比较"选项"的浮点值。
例如,如果我有entity1.option =" 10"和entity2.option =" 5",我希望entity2在排序后位于entity1之前。按字符串值排序会将entity1置于entity2之前,因为" 1"来自" 5"。
如何设置NSSortDescriptor来执行此操作?我读到比较块不能用于获取请求,所以我可以修改以某种方式使用的密钥吗?也就是说,假设我通过
创建了sortDescriptor[NSSortDescriptor sortDescriptorWithKey:ascending:selector:]
而不是使用我的@"选项"作为关键,我可以做一些像@" [option floatValue]"?
编辑:
我刚尝试为NSString创建一个类别,它实现了一个比较方法来做我想做的事情。但是,即使我的代码编译,它在运行时失败,说我实现的比较方法不是有效的选择器。我已将我的NSString类别导入到我的控制器中,该控制器发出了获取请求,但它仍然无法正常工作。我也尝试将NSString类别导入到我想要使用它的实体中,但仍然没有运气。
这种使用类别的方法不起作用,或者我只是不将NSString类别导入正确的位置?