2013-10-22 82 views
0

我有一個需要過濾的對象數組。我知道我應該使用NSPredicate,但似乎無法找到在另一個對象內部通過對象中的字符串進行篩選的答案。通過嵌套對象中的字符串篩選NSArray

這裏是陣列中的單個對象的樣子:

{ 
    "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,它需要filteredArrayUsingPredicate :.

此外,我找到的數據過濾數組的方式是從UIPickerView拉它,所以我必須檢索從不同的pickerview使用的對象,並過濾第二個數組基於字符串的網站名稱。

我似乎無法找到一個好的答案,如果有人有任何建議,我會非常感激。

回答

3

謂詞可以使用keypaths導航到數據結構,所以你可以這樣做:

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

你也可以看看使用enumerateObjectsUsingBlock:來構建你有興趣的項目列表

+0

對不起,我發佈的是原始的JSON響應。該數組是dataCentersArray與一個數據中心對象,它有一個嵌套的站點對象。但這確實給了我一個想法。 – layuso

相關問題