2011-08-29 107 views
0

我想加载并保存设置。我不知道我把registerDefaults放在哪里。 我把它放在loadSetting中。我认为我做错了。我是否必须在应用程序didFinishLaunch的末尾放置它?我该把registerDefaults放在哪里?

- (void)loadSettings {  
     NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 

     NSDictionary *dictionary = [NSDictionary dictionaryWithObjectsAndKeys: 
         [NSNumber numberWithBool:YES], @"key1", 
         [NSNumber numberWithBool:NO], @"key2", 
         nil]; 
     [defaults registerDefaults:dictionary]; 

     key1Value = [defaults boolForKey:@"key1"]; 
     key2Value = [defaults boolForKey:@"key2"]; 
    } 

    -(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions: NSDictionary *)launchOptions {  
     [self loadSettings]; 

    } 
+1

你为什么认为你做错了? – BoltClock

回答

0

它看起来对我好。我想只要你在加载任何视图之前调用它,你应该没问题。

+0

你见过Apple的DrillDownSave例子吗?我没有完全看到这个例子。但是,registerDefaults处于应用程序didFinishLaunch的末尾。我不明白这一点。 – user698200

+0

我还没有看到这个例子。我在我的应用程序中使用了很多NSUserDefaults,而且我根本不使用-registerDefaults。我在设置值后使用[默认同步],但就是这样。我把值拉出NSDictionary * dict = [defaults valueForKey:@“settingsData”]; –