Mas*_*zza 8 widget nsuserdefaults ios ios8 ios-app-extension
是否可以使用NSUserDefaults在Today Extension上保存和加载数据?关闭通知中心后,窗口小部件的行为类似于终止的应用程序,因此任何数据结果都会丢失.我怎么能解决这个问题?
这是我的代码:
NSUserDefaults *defaults;
- (void)viewDidLoad {
[super viewDidLoad];
defaults = [NSUserDefaults standardUserDefaults];
NSArray *loadStrings = [defaults stringArrayForKey:@"savedStrings"];
if ([loadStrings objectAtIndex:0] != nil) {
[display setText:[NSString stringWithFormat:@"%@", [loadStrings objectAtIndex:0]]];
}
if ([loadStrings objectAtIndex:1] != nil) {
calculatorMemory = [NSString stringWithFormat:@"%@", [loadStrings objectAtIndex:1]].doubleValue;
}
}
- (IBAction)saveData:(id)sender {
NSString *displayString;
NSString *memoryString;
NSArray *saveStrings = [[NSArray alloc] initWithObjects: displayString, memoryString, nil];
defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:saveStrings forKey:@"savedStrings"];
[defaults synchronize];
}
Run Code Online (Sandbox Code Playgroud)
Ben*_*G37 19
您需要使用应用程序组标识符而不是com.*例如:
NSUserDefaults *shared = [[NSUserDefaults alloc]initWithSuiteName:@"group.company.appgroup"];
Run Code Online (Sandbox Code Playgroud)
存储数据时不要忘记同步
[shared synchronize];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10461 次 |
| 最近记录: |