Как получить количество NSMutableDictionary в iphone? - PullRequest
13 голосов
/ 11 января 2012

Я хочу получить счетчик NSMutableDictionary в iphone. Я хочу знать, сколько элементов в NSMutableDictionry. Я попробовал этот код, чтобы найти решение, но мне не очень помогло.

NSLog(@"Count : %d", [mutableDictionary count]);

Всегда возвращает «0». Как получить количество NSMutableDictionary в iPhone? Заранее спасибо.

Ответы [ 4 ]

30 голосов
/ 11 января 2012

Вы можете узнать, сколько пар ключ-объект (ключ-значение) существует так:

NSArray * allKeys = [mutableDictionary allKeys];
NSLog(@"Count : %d", [allKeys count]);

РЕДАКТИРОВАТЬ

При просмотре документации словаря метод * или 1007 * * (или свойство) также должен работать. Я думаю, что вы, возможно, получили 0 отсчета, потому что словарь был пуст или ноль. Я предложил свое решение, потому что меня больше заботит перечисление ключей, чем непосредственный подсчет записей.

Пожалуйста, примите во внимание тот факт, что вы исправили проблему в другом месте.
• путем фактического заполнения словаря
или
• Исправив ошибку, когда mutableDictionary был каким-то образом nil

Я запускаю этот тестовый код и получаю закомментированный вывод

  NSMutableDictionary * countDict = [NSMutableDictionary dictionaryWithObject:@"test" forKey:@"test"];
  [countDict setObject:@"foo" forKey:@"bar"];
  NSLog(@"test count %d", countDict.count); //test count 2
  countDict = nil;
  NSLog(@"test count %d", countDict.count); //test count 0
11 голосов
/ 11 января 2012

[[dictionary allKeys] count]; добьется цели.

2 голосов
/ 11 января 2012
     NSMutableDictionary *dict = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"Rakesh",@"Name",@"r@r.com",@"Email",nil];
     NSLog(@"Count : %d", [dict count])

Попробуйте это

0 голосов
/ 21 января 2014

, если вы хотите подсчитать значения NSMutableDictionary для любого элемента массива, который вы можете использовать.

NSLog(@"myDictionaryCount %lu", (unsigned long)[myDictionary[@"items"] count]);
...