Cra*_*Dev 8 xcode objective-c nsuserdefaults nsarray ios
我想存储一个数组NSUserDefault,然后,我放入applicationDidEnterBackground
[[NSUserDefaults standardUserDefaults] setObject:myArray forKey:@"myArray"];
Run Code Online (Sandbox Code Playgroud)
并在 application didFinishLaunchingWithOption
myArray= [[NSMutableArray alloc]
initWithArray:[[NSUserDefaults standardUserDefaults]
objectForKey:@"myArray"]];
Run Code Online (Sandbox Code Playgroud)
它可以用于多任务设备,但对于非多任务设备,我该如何解决?
Jac*_*kin 10
将对象存储在in NSUserDefaults中-applicationWillTerminate:,如果它尚未通过调用保存-applicationDidEnterBackground:(即检查是否支持多任务处理,如果是,则不要保存它,因为它已经被保存了.)
- (void) applicationWillTerminate:(UIApplication *) app {
if([[UIDevice currentDevice] respondsToSelector:@selector(isMultitaskingSupported)] &&
![[UIDevice currentDevice] isMultitaskingSupported]) {
[[NSUserDefaults standardUserDefaults] setObject:myArray forKey:@"myArray"];
}
}
Run Code Online (Sandbox Code Playgroud)
在进入后台之前不要忘记同步缓冲区:
[[NSUserDefaults standardUserDefaults] synchronize];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
23171 次 |
| 最近记录: |