2014-09-02 30 views
-4

我有一個數組中的XCode它有它的位置和每個位置都有像顯示名,類別等方面的性能......如何得到一個數組出只只包含一個數組的一個特殊鍵

現在我想過濾該數組,以便獲取僅包含類別「XYZ」以外的位置的數組?

我該如何在XCode中做到這一點?

我的位置陣列看起來像

{ 
[displayName: "Location1", category: "XYZ" ], 
[displayName: "Location2", category: "ABC" ], 
[displayName: "Location3", category: "XYZ" ], 
[displayName: "Location4", category: "ABC" ], 
[displayName: "Location5", category: "XYZ" ], 
[displayName: "Location6", category: "ABC" ], 
} 

論文6我想要的位置1,3,5例如,在一個新的Array這樣的:

{ 
[displayName: "Location1", category: "XYZ" ], 
[displayName: "Location3", category: "XYZ" ], 
[displayName: "Location5", category: "XYZ" ], 
} 
+3

請提供一些最小的示例代碼。我們甚至不知道陣列中的對象是什麼樣子。 – Joe 2014-09-02 13:47:11

+1

如何搜索如何過濾數組,並可能添加謂詞或塊?你有什麼嘗試? – Larme 2014-09-02 13:48:46

回答

1

使用這段代碼中mixedArray是您的初始數組,而newArray是已過濾的數組,YourLocation是您的位置類。

NSArray *newArray = [mixedArray objectsAtIndexes:[mixedArray indexesOfObjectsPassingTest:^BOOL(YourLocation *location, NSUInteger idx, BOOL *stop) { 

    return ([location.category isEqualToString:@"XYZ"]); 
}]]; 

希望它能幫助你。

相關問題