NSArray возвращает ноль iOS Objective C
У меня есть метод, в котором я сохраняю пользовательскую ошибку по умолчанию в viewWillAppear так:
self.getUserName = [defineXMLData objectForKey:@"fromUserName"];
NSLog(@"Saved Array %@" ,self.getUserName);
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
[prefs setObject:self.getUserName forKey:@"voucherFromUserName"];
[prefs synchronize];
Я получаю данные из массива в моем NSLog, но когда я пытаюсь загрузить пользовательское значение по умолчанию в массив, он возвращает ноль? Я попытался с другим сохраненным пользователем по умолчанию из другого контроллера представления, и это работает.
Я пытаюсь загрузить nsarray в viewDidload так:
self.voucherArray = [prefs arrayForKey:@"voucherFromUserName"];
Даже если я пытаюсь использовать исходный массив, в котором я сохранил данные, он все равно не работает:
self.voucherArray = self.getUserName;
1 ответ
Ваша проблема в том, что viewWillAppear
называется после viewDidLoad
так что вы, вероятно, пытаетесь получить данные из userDefault, прежде чем они будут сохранены в нем