`[NSUserDefaults standardUserDefaults]` возвращает ноль

Я хочу сохранить некоторые пользовательские настройки, но

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

просто возвращается nil,

iOS-Developper Library говорит, что это должно вернуть существующий общий объект по умолчанию или создать его, если ни один не существует... Что мне не хватает?

Я также использую Appirater, и там все эти вещи, кажется, также не работают...

Этот код вызывается, когда пользователь нажимает кнопку...

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
int index = ([defaults integerForKey:@"BackgroundColorSpecifier"]+ 1)%self.backgroundColors.count;
[defaults setInteger:index forKey:@"BackgroundColorSpecifier"];
[defaults synchronize];

Это вызывается в application: didFinishLaunchingWithOptions:

NSUserDefaults *standardDefaults = [NSUserDefaults standardUserDefaults];
[standardDefaults registerDefaults:@{@"BackgroundColorSpecifier": @0}];
[standardDefaults synchronize];

Когда я отлаживаю этот фрагмент кода, зеленый "индикатор положения" очень странно прыгает...

Понятия не имею, что происходит... Пожалуйста, помогите!

2 ответа

Решение

Это гораздо более вероятно, будет проблемой с отладчиком, чем что-либо еще, особенно с вашими другими проблемами. Я видел подобные вещи в своих собственных проектах, но у меня нет надежного способа их устранения, кроме обычных параметров перезапуска / очистки.

NSLogs обычно дает более согласованные результаты, чем отладчик, если у него нет выходных.

NSUserDefaults не сломан. Мы бы уже слышали об этом.

Вы можете использовать эту функцию для входа в систему userDefaults dic

 - (void)logCache
    {
        NSDictionary * dic = [[NSBundle mainBundle] infoDictionary];
        NSString *bundleId = [dic  objectForKey: @"CFBundleIdentifier"];
        NSUserDefaults *appUserDefaults = [[NSUserDefaults alloc] init];
        NSDictionary *cacheDic = [appUserDefaults persistentDomainForName: bundleId];
        NsLog(@"cacheDic::%@",cacheDic);
    }
Другие вопросы по тегам