簡體   English   中英

與C#中的valueForKeyPath:(Obj-C)相似的方法

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM