Ну, есть ряд проблем в движении; во-первых, plist, вероятно, является списком двоичных свойств, а не списком свойств XML. Это не имеет большого значения с точки зрения кода, но должно служить для объяснения проблем с открытием в виде простого текста.
Во-вторых, выпуская tempDictionary
, вы также выпускаете dictionary
, так как они оба указывают на один и тот же объект. Это должно объяснить, почему ваш код не работает. Попробуйте autorelease
или просто dictionaryWithContentsOfFile:
и полностью исключите фразу выпуска. (dictionaryWithContentsOfFile:
автоматически вернет свое возвращаемое значение.)
Вы также повторяете ошибку выпуска для второй фразы; оператор присваивания (=
) не копируется в Objective-C; это присваивает .
Редактировать: Последнее не верно при использовании записи свойства; предполагая, что свойства определены; self.accountsArray = nameArray
(вероятно) скопирует массив в объект.
Reedit: Правильный код:
dictionary = [[NSMutableDictionary alloc] initWithContentsOfFile:accountsFilePath];
accountsArray = [dictionary objectForKey:@"username"];