Я видел пару вопросов по этому поводу, но я не думаю, что они отвечают моей проблеме.
В моем методе у меня есть ... в операторе if, который я использую для установкизначение по умолчанию при первом запуске моего приложения.
NSUserDefaults *myDefaults = [NSUserDefaults standardUserDefaults];
[myDefaults setObject:@"1" forKey:kNSUAccountSelection];
[myDefaults synchronize];
Далее я делаю то же самое с другим ключом.
Затем я запускаю это ...
NSString *account_name = [[accountArray objectAtIndex:[accountArray
indexOfObject:[[NSUserDefaults standardUserDefaults]
objectForKey:kNSUAccountSelection]]] objectForKey:@"Account_Name"];
Это приводит к ошибке.
Завершение приложения из-за необработанного исключения 'NSRangeException', причина: '- [NSMutableArray objectAtIndex:]: индекс 2147483647 за пределами [0 .. 0]'
Итак, я попытался ... прямо перед этой строкой ...
NSUserDefaults *myDefaults2 = [NSUserDefaults standardUserDefaults];
NSString *str = [myDefaults2 stringForKey:kNSUAccountSelection];
И str возвращает ноль.
В моем файле constants.h у меня есть ...
#define kNSUAccountSelection @"accountselection"
Да, accountArray заполняется из моей базы данных и имеет значения.
Я не понимаю, почему я получаю ноль и что я должен сделать, чтобы это исправить?Из того, что я прочитал, это должно работать.