ios - 字典数组的 NSPredicate

标签 ios objective-c xcode nspredicate

我有一个

Array
  Item 0 -- Dictionary
    Sport -- String
    Mens  -- Array
      Item 0 -- Dictionary
        Name -- String
        Rules -- String
        Description -- String
    Womens  -- Array
      Item 0 -- Dictionary
        Name -- String
        Rules -- String
        Description -- String
   Item 1 -- Dictionary
      And so on.....

我想创建一个 NSPredicate 来搜索给定的字符串是否包含在 Name 中。我怎样才能达到那么深?

如果你看不懂图表。我有一个充满字典的数组,字典里面是一个字符串,一个字典数组,一个字典数组,字典里面是字符串对象

那么我如何进入第二个词典并搜索名称键

提前致谢

最佳答案

您需要以下内容

NSString *str = <search string>;
NSPredicate *pred = [NSPredicate predicateWithFormat:@"ANY Mens.Name LIKE %@ OR ANY Womens.Name LIKE %@", str, str];
NSArray *result = [your_array filteredArrayUsingPredicate:pred];
BOOL success = result.count > 0;

关于ios - 字典数组的 NSPredicate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21201251/

相关文章:

ios - Swift:如何在写入时不断调整 UICollectionViewCell 高度以适应 UITextView?

ios - 如何根据其在textview中的内容更改自定义tableview单元格高度和textview高度

iphone - 我可以安全地使用 CGFloat 来保存 Float64 或 Float32 值吗?

ios - iOS 7 中的 UICollectionView 奇怪崩溃

ios - 如何修复 SIGABRT 错误

ios - JSContext 的内部何时会被垃圾收集?

iphone - 为什么 launchd 会杀死我的应用程序,它只使用 2 MB 的 RAM?

objective-c - UITableViewCell 对齐所有 subview

ios - 检测用户是否在 iOS 上滚动然后更改 View 颜色

objective-c - 从其他类委托(delegate)返回值