iOS中NSDictionary的遍歷

法一

聽說是開發文檔中的方法,未考證。segmentfault

NSEnumerator *enumerator = [myDictionary keyEnumerator];
id key;
while ((key = [enumerator nextObject])) {
    /* code that uses the returned key */
}

法二

@未解提供,也是最方便用的最多的一種方法,通常用這種就能夠。code

NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:@"value1", @"key1", @"value2", @"key2", nil];

for (NSString *key in dict) {
    NSLog(@"key: %@ value: %@", key, dict[key]);
}

法三

~~須要根據i有特殊的操做時能夠用這種~~
上面那一行刪除了,好像是語法錯了,沒有刪除線...
以前寫這個文章的時候腦子裏亂了,其實根據i有特殊操做的是NSArray,感謝@未解的提醒~
這個方法是最笨拙的一個,通常遍歷NSDictionary也不會這麼用,姑且記在這裏,怎麼也算是一種方法嘛~開發

- (void)describeDictionary:(NSDictionary *dict)

{
  NSArray *keys;
  int i, count;
  id key, value;

  keys = [dict allKeys];
  count = [keys count];
  for (i = 0; i < count; i++)
  {
    key = [keys objectAtIndex: i];
    value = [dict objectForKey: key];
    NSLog (@"Key: %@ for value: %@", key, value);
  }
}

剛開始寫博客,沒什麼經驗,慢慢摸索着來,感謝各位的指正與幫助~文檔

相關文章
相關標籤/搜索