【发布时间】:2011-10-11 18:19:30
【问题描述】:
我正在尝试从 Core Data 中的 NSNumber 属性上的搜索栏文本中检索结果。 特别是,从搜索文本中获取 ID 号为“BEGINSWITH”的商店中的对象。
例如,如果用户在搜索框中输入数字“1”,我的抓取请求返回的对象包括1、12、14、19、100、149、1324等。
不幸的是,我也是在表上实现排序,所以当按这个id号排序时,如果在数据模型中表示为字符串,排序变成:1,10,100,2,20,200而不是1,2,10 ,20,100,200。
我怎样才能在这里两全其美,以便我可以按字符串排序方式进行搜索,但按数字排序方式进行排序? 我是否必须在数据模型中创建两个属性,一个字符串和一个数字表示相同的数据?
任何帮助将不胜感激。
Rgds, 费利佩
【问题讨论】:
-
我自己解决了问题。我没有将搜索字符串转换为 int 并使用 BEGINSWITH 和左侧的 id 号和右侧的搜索 int,而是能够使用 BEGINSWITH 和左侧的 id 号和右侧的搜索字符串。搜索和排序都很好用。
-
您应该将其发布为答案并接受它。
-
原来这并没有解决我的问题...我仍然无法使用 BEGINSWITH 对 NSNumbers 进行排序。
标签: objective-c ios core-data nspredicate nsfetchedresultscontroller