2013-12-17 3 views
0

Мне нужно получить количество объектов в массиве внутри NSDictionary. Например:Как получить количество объектов в NSArray внутри NSDictionary

po _dictionary 
{ 
    keys =  (
     "one", 
     "two" 
    ); 
} 

Принимая во внимание это массив: [_dictionary objectForKey:@"keys"]

мой вопрос, как я могу получить количество в массиве?

Я стараюсь это:

[[[_tutorials objectForKey:@"keys"] allKeys ]count]; 

, но я получаю эту ошибку:

* Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFArray allKeys]: unrecognized selector sent to instance 0xa419ea0'

+0

Это не выглядит как Objective-C ... отправьте свой код, чтобы мы могли реально помочь. – eswick

ответ

3

[_dictionary objectForKey:@"keys"] является NSArray и не NSDictionary. Поэтому он не понимает метод allKeys. Бросьте его, и он должен работать:

[[_dictionary objectForKey:@"keys"] count]; 
0
NSLog(@"%d", [[_dictionary objectForKey:@"keys"] count]); 

Как ваша [_dictionary objectForKey:@"keys"] массив вы можете получить счетчик непосредственно.

0

Здесь вы идете:

NSLog(@"%lu", _dictionary[@"keys"].count); 
0

NSDictionary имеет метод, чтобы получить NSArray ключей, которые я нахожу гораздо более удобным для чтения, чем при использовании objectForKey:

[[_dictionary allKeys] count] 
0
NSDictionary *res=[NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableLeaves error:&error1]; 

    NSLog(@"%d",[[res valueForKey:@"result"] count]); 
Смежные вопросы