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, прежде чем они будут сохранены в нем

Другие вопросы по тегам