1

我有带有字符串属性的实体,称之为“选项”(entity.option 是一个字符串)。我想执行一个获取请求,但我想比较“选项”的浮点值。

例如,如果我有 entity1.option = "10" 和 entity2.option = "5",我希望 entity2 在排序后位于 entity1 之前。按字符串值排序会将 entity1 放在 entity2 之前,因为“1”在“5”之前。

如何设置 NSSortDescriptor 来执行此操作?我读到比较块不适用于获取请求,所以我可以以某种方式修改使用的密钥吗?也就是说,假设我通过创建我的 sortDescriptor

[NSSortDescriptor sortDescriptorWithKey:ascending:selector:]

除了使用我的@“option”属性作为键,我可以做类似@“[option floatValue]”的事情吗?

编辑:

我刚刚尝试为 NSString 创建一个类别,该类别实现了一个比较方法来做我想做的事。但是,即使我的代码编译了,它在运行时也会失败,说明我实现的比较方法不是有效的选择器。我已将我的 NSString 类别导入我的控制器,该控制器发出 fetch 请求,但它仍然无法正常工作。我还尝试将 NSString 类别导入到我想使用它的实体中,但仍然没有运气。

这种使用类别的方法会不起作用还是我只是没有将 NSString 类别导入正确的位置?

4

0 回答 0