Я пытаюсь установить ключ в NSUserDefaults
. В журнале консоли отображается ключ auto_reset_switch
, установленный на «YES», когда я регистрирую значения по умолчанию. Однако, когда я позже прочитал значения по умолчанию, ключ auto_reset_switch будет «0». Я попытался установить ключ как BOOL
или как NSString
, но это не имеет значения. Я следую за текстом в книге «iOS Programming Big Nerd Ranch Guide 4th edition». Что я делаю не так?Настройки предпочтений ключ не сохранен iOS
Вот appDelegate.h:
//
// NRCAppDelegate.h
// LifeWatch
//
// Created by Nelson Capes on 10/13/2015.
// Copyright © 2015 Nelson Capes. All rights reserved.
//
#import <UIKit/UIKit.h>
#import "NRCAlertView.h"
extern NSString * const NRCAutoResetSwitch;
@interface NRCAppDelegate : UIResponder <UIApplicationDelegate>
@property (strong, nonatomic) UIWindow *window;
@end
Здесь ключ быть установлен в appDelegate.m:
//
// NRCAppDelegate.m
// LifeWatch
//
// Created by Nelson Capes on 10/13/2015.
// Copyright © 2015 Nelson Capes. All rights reserved.
//
#import "NRCAppDelegate.h"
#import "NRCItemsViewController.h"
#import "NRCItemStore.h"
#import "NRCImageStore.h"
#import "NRCAppDelegate.h"
NSString * const NRCAutoResetSwitch = @"auto_reset_switch";
@class NRCItemsViewController;
@implementation NRCAppDelegate
+(void)initialize
{
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSLog(@"defaults %@", [defaults
dictionaryRepresentation]);
NSDictionary *factorySettings = @{NRCAutoResetSwitch : @"YES"};
[defaults registerDefaults:factorySettings];
NSLog(@"defaults %@", [defaults
dictionaryRepresentation]);
}
А вот лог консоли (часть) после регистрации по умолчанию , Примечание ** auto_reset_switch = YES»
2016-01-12 17:23:16.088 LifeWatch[373:20370] defaults {
NSPersonNameDefaultDisplayNameOrder = 2;
PKEnableStockholmSettings = 1;
"auto_reset_switch" = YES;
"com.apple.content-rating.AppRating" = 1000;
"com.apple.content-rating.ExplicitBooksAllowed" = 1;
"com.apple.content-rating.ExplicitMusicPodcastsAllowed" = 1;
"com.apple.content-rating.MovieRating" = 1000;
"com.apple.content-rating.TVShowRating" = 1000;
}
А вот код для чтения по умолчанию:
NSUserDefaults *defaults =[NSUserDefaults standardUserDefaults];
NSLog(@"defaults %@", [defaults
dictionaryRepresentation]);
Но теперь журнал консоли показывает "auto_reset_switch = 0":
NSPersonNameDefaultDisplayNameOrder = 2;
PKEnableStockholmSettings = 1;
"auto_reset_switch" = 0;
Спасибо за помощь! –