[英]Similar method to valueForKeyPath:(Obj-C) in c#
我在C#中有字典列表。 如何從字典中為特定鍵創建項目數組? 在Objective-C中,有valueForKeyPath:方法。
這是帶有字典的列表的示例:
[
{ "id": 1546, "description": “test_1” },
{ "id": 2228, "description": “test_2” },
{ "id": 2762, "description": "test_3” }
]
我想得到:
[ 1546, 2228, 2762 ]
輸入密鑰id
。
為什么不運行循環ex:
var list = new List<int>();
foreach(var dic in DictionaryList){
if(dic.ContainsKey("id"))
list.Add( dic["id"] );
}
第一個for循環遍歷列表並獲取每個字典,第二個for循環繪制每個鍵值對,然后可以將其與所需內容進行比較。
在lambda表達式中可能更容易做到,我只是沒有時間寫一個。
我認為這更接近您的要求。 如果我理解正確,那么您有一個字典列表,並且您試圖從列表中的每個字典中獲取特定的值。 “ ContainsKey”返回布爾值,如果為true,則可以訪問字典中的特定keyValue並將其添加到列表中,或使用它進行任何操作。
您可以使用以下代碼:
NSMutableArray *arr;
for(int i=0;i<[givenArr count];i++){
NSDictionary *dic=givenArr[i];
[arr addObject:[dic valueForKey:@"id"]];
}
NSLog(@"%@",arr);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.