我有幾個數組希望在應用程序終止時保存。我在應用程序委託中使用NSUserDefaults實現了這一點。任何人都可以看看我的代碼,看看有什麼不對嗎?它不起作用。將數據保存在應用程序代理中
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
workouts = [NSMutableArray arrayWithObjects:nil];
menu = [NSMutableArray arrayWithObjects:@"Home",nil];
workoutNames = [NSMutableArray arrayWithObjects:nil];
routinesMade = [NSMutableArray arrayWithObjects:nil];
test = [NSMutableArray arrayWithObjects:nil];
defaults = [NSUserDefaults standardUserDefaults];
self.workouts = [defaults objectForKey:@"workouts"];
self.menu = [defaults objectForKey:@"menu"];
self.workoutNames = [defaults objectForKey:@"workoutNames"];
self.routinesMade = [defaults objectForKey:@"routinesMade"];
return YES;
}
- (void)applicationWillTerminate:(UIApplication *)application
{
defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:workouts forKey:@"workouts"];
[defaults setObject:menu forKey:@"menu"];
[defaults setObject:workoutNames forKey:@"workoutNames"];
[defaults setObject:routinesMade forKey:@"routinesMade"];
[defaults synchronize];
}
順便說一句,我聲明默認的頭文件。多謝你們!
我忘了提,我想第一種方法中加載數據。 –
你可以嘗試alloc/init的NSMutableArrays?同時檢查以確保在您調用同步時保存數組。 – MichaelScaria