2010-02-28 2 views
1

В настоящее время я пытаюсь получить данные из plist.Ошибка чтения данных массива из plist - (null) изгнано

Это в основном выглядит так:

plist called 'woerter' 
    -> Root key of type Dictionary 
    -> woerter key of type Array 
     -> various Items of type String with string Values 

Когда я теперь пытаюсь прочитать случайную строку из этого, я только получаю (нулевое) выражение

NSString * path = [[NSBundle mainBundle] bundlePath]; 
NSString * finalPath = [path stringByAppendingPathComponent:@"woerter.plist"]; 
NSDictionary * plistData = [[NSDictionary dictionaryWithContentsOfFile:finalPath] retain]; 
NSArray * array = [plistData valueForKey:@"woerter"]; 
NSString * string = [array objectAtIndex:arc4random() %110]; 
NSLog(@"stringtest %@", string); 

Но я получаю

2010-02-28 23: 01: 58,911 TypeFast [5606: a0f] stringtest (нуль)

Это не проблема с arcrandom, так как objectAtIndex: 2 возвращает то же самое.

Где проблема?

Спасибо (:

+0

Вы должны пройти через этот код и выяснить, где она не работает. Любой из ваших методов может терпеть неудачу, возвращать нуль и затем каскадировать, чтобы представить NULL для окончательного назначения. Это то, что gdb для. –

ответ

2

Вы забыли Alloc в NSDictionary и NSArray, поэтому массив и словарь не может сохранить значения

+0

Eh? Вопросник создает NSDictionary из файла, поэтому нет необходимости для выделения одного и получения массива из словаря. Существует несколько причин, почему это может быть неудачным, но не отправлять сообщение «alloc» не является одним из них. –

 Смежные вопросы

  • Нет связанных вопросов^_^