【问题标题】:Filter NSArray by string in nested object在嵌套对象中按字符串过滤 NSArray
【发布时间】:2013-10-31 11:24:32
【问题描述】:

我有一组需要过滤的对象。我知道我应该使用 NSPredicate,但似乎无法在另一个对象内部的对象中找到通过字符串过滤的答案。

数组的单个对象如下所示:

{
    "data_center"
    {
        "id":1,
        "site_id":17,
        "name":"Building",
        "shortname":"ORL-Building",
        "created_at":"2011-10-28T06:32:39Z",
        "updated_at":"2011-10-28T06:32:39Z",
        "site":
        {
            "id":17,
            "name":"Orlando",
            "shortname":"ORL"
        }
    }
}

如何在嵌套对象中使用 Site.name 过滤数组?数组本身是一个 NSArray,它需要 filtersArrayUsingPredicate:.

另外,我找到数据来过滤数组的方式是从 UIPickerView 中提取数据,因此我必须从不同的pickerview 中检索使用的对象,并根据字符串过滤第二个数组用于站点名称。

我似乎找不到一个好的答案,如果有人有任何建议,我将不胜感激。

【问题讨论】:

    标签: ios arrays xcode filter nsarray


    【解决方案1】:

    谓词可以使用键路径导航到数据结构中,因此您可以执行以下操作:

    @"data_center.site.name LIKE %@", name
    

    您还可以查看使用enumerateObjectsUsingBlock: 来构建您感兴趣的项目列表。

    【讨论】:

    • 对不起,我发布的是原始 JSON 响应。该数组是具有数据中心对象的 dataCentersArray,该对象具有嵌套的站点对象。但这确实给了我一个想法。
    猜你喜欢
    • 2013-08-26
    • 1970-01-01
    • 2021-10-23
    • 1970-01-01
    • 1970-01-01
    • 2022-11-24
    • 1970-01-01
    • 2020-07-28
    相关资源
    最近更新 更多