我正在使用这些方法从 NSUserDefaults 保存和获取数据。但是 NSUserDefaults 在随机时间段后在设备中自动清除。我检查了项目-
代码...
+(NSString *) getUserName{
return [[NSUserDefaults standardUserDefaults] objectForKey:kAccUserNameKey];
}
+(void)saveUserName:(NSString *) value {
[[NSUserDefaults standardUserDefaults] setObject:value forKey:kAccUserNameKey];
[[NSUserDefaults standardUserDefaults] synchronize];
}
Run Code Online (Sandbox Code Playgroud)
使用 saveUserName 保存数据后,我使用 getUserName 正确获取数据,即使在重新启动应用程序后也是如此。但据报道有时会丢失数据。(从 didFinishLaunchingWithOptions 和 applicationWillEnterForeground 调用 getUserName) 为什么 NSUserDefault 正在重置?任何的想法??
从文档
- (NSUserDefaults *)standardUserDefaults 描述
返回共享的默认对象。如果共享默认对象尚不存在,则使用包含以下域名称的搜索列表创建它,按此顺序:
- NS参数域
- 由应用程序的包标识符标识的域
- NS全局域
- NS注册域
这是否意味着,有时共享对象还不存在并且返回 nil?什么是解决方案?
Apple 在ios 7.1中添加了Button shape功能.但我需要禁用我的应用程序或更改其默认颜色,形状以匹配我的应用程序的UI.可以不使用自定义类型按钮吗?请帮我.