搜索NSArray的int或double

时间:2011-10-07 16:28:25

标签: objective-c cocoa search nspredicate

我使用以下NSPredicate搜索自定义项目数组:

NSPredicate *query = [NSPredicate predicateWithFormat:@"[%K contains[cd] %@", column, searchString];

该数组包含具有多个变量的自定义类的项(列指定应该搜索的变量)。这适用于NSStrings的变量,但是,有一些是intdouble s,并且当它尝试对这些变量进行排序时,此代码会崩溃。有没有办法对intdouble s列表进行排序?

1 个答案:

答案 0 :(得分:2)

  

这适用于NSStrings的变量,但是,那里   有些是整数或双精度,这个代码在它尝试时会崩溃   对这些进行排序。

  1. 发布填充数组的代码。

  2. 发布崩溃。

  3. 发布如何根据数组评估谓词。

  4. 如果(1)的答案是你将int / double直接插入数组,那将无效;他们需要成为对象。如果(2)的答案是发送到NSNumber / NSValue类的无法识别的选择器,那么您需要将#s转换为contains[cd]的字符串才能工作。