我们的iPhone应用目前遇到以下奇怪问题。正如标题所说,当手机重启但未解锁时,NSUserDefaults会丢失我们的自定义键和值,这是在非常特殊的情况下发生的。上下文:我们在应用中使用NSUserDefaults来存储用户数据(例如用户名)。我们的应用在后台模式下启用了定位功能。我们仅在通过无线方式或通过Testflight分发时遇到此问题。如果我使用Xcode将.ipa(通过无线方式分发的文件)拖放到我的手机中,我不会遇到此问题。情况:用户安装应用程序,登录并且用户名成功存储在NSUserDefaults中。然后,用户关闭他们的设备并将其重新打开,让手机在解锁屏幕之前静置一段时间
如何将字符串保存到NSUserDefaults中? 最佳答案 NSString*valueToSave=@"someValue";[[NSUserDefaultsstandardUserDefaults]setObject:valueToSaveforKey:@"preferenceName"];[[NSUserDefaultsstandardUserDefaults]synchronize];稍后取回NSString*savedValue=[[NSUserDefaultsstandardUserDefaults]stringFor
当我开发iPhone应用程序(TimeTracker、ToDoList等)时,我永远不知道处理数据的最佳方式是什么。一旦我使用了plist,下次使用sqlite或CoreData。您如何决定什么最适合您的项目?(只谈数据管理)例如,如果你想开发:TimeTracker应用>PList是您的选择吗?RSS阅读器应用>CoreData?照片应用>sqlite?电子邮件客户端>?对于初学者,您能给我大致指出正确的方向吗?(我知道这在很大程度上取决于应用程序以及您喜欢做什么它,但任何想法都会有所帮助)我离开发复杂的应用程序还很远,它们仍然非常简单。感谢帮助,马克 最
我有一个包含2个目标的应用程序,主应用程序和Today扩展-为了在这些目标之间共享设置,我打开了应用程序组功能,添加了一个组group.myApp.com然后在主应用程序和TodayExtension中像这样使用NSUserDefaults:vardefaults:NSUserDefaults=NSUserDefaults(suiteName:"group.myApp.com")!(按照此处的说明操作:http://goo.gl/pNrYQl)这工作正常。我想向应用程序添加一个Settings.bundle以更改两个目标中的设置,但这似乎是使用standardUserDefaults作
我有一个类,类内部是一个基于全局结构的(swift)数组。我想用这个类保存一个数组到NSUserDefaults。这是我的代码:structmystruct{varstart:NSDate=NSDate()varstop:NSDate=NSDate()}classMyClass:NSObject{varmystructs:[mystruct]init(mystructs:[mystruct]){self.mystructs=mystructssuper.init()}funcencodeWithCoder(encoder:NSCoder){//letval=mystructs.map{
我有一个名为Person的自定义类,它存储某人输入信息时的各种属性。classPerson{//Persondictionaryvariablevarname:String?varage:String?varhtml_url:String?init(json:NSDictionary){//Dictionaryobjectself.name=json["name"]as?Stringself.age=json["age"]as?Stringself.html_url=json["html_url"]as?String//LocationoftheJSONfile}}一旦字典被创建,它就
iOSPlaygrounds似乎有一个奇怪的问题,NSUserDefaults总是返回nil而不是实际值。在iOSPlayground中,最后一行错误地返回nil。importUIKitletdefaults=NSUserDefaults.standardUserDefaults()defaults.setObject("Thisisatest",forKey:"name")letreadString=defaults.objectForKey("name")在OSXPlayground中,最后一行正确返回“Thisisatest”。importCocoaletdefaults=NSU
我创建了appGroups并使用该组设置了NSUserDefaults。我有一个观察者,当值更改时不会触发该观察者。letdefaults=NSUserDefaults(suiteName:"group.daniesy.text")!defaults.addObserver(self,forKeyPath:"temp",options:NSKeyValueObservingOptions.New,context:nil)defaults.setBool(!defaults.boolForKey("temp"),forKey:"temp")defaults.synchronize()ov
classItem{varname:StringvarcollectionId:Intinit(name:String,collectionId:Int){self.name=nameself.collectionId=collectionId}}classViewController:UIViewController{varitemList=[Item]()funcrecievedResults(){letdefaults=NSUserDefaults.standardUserDefaults()defaults.setObject(self.itemList,forKey:"myL
我正在将我的一个项目逐个文件地转换为Swift。我对NSUserDefaults有一个奇怪的行为。为了与其他代码兼容,我使用NSString而不是StringvarselectedMonth:NSString{get{returnNSUserDefaults.standardUserDefaults().objectForKey(AppUserDefaults.SelectedMonth.value())asNSString}set{NSUserDefaults.standardUserDefaults().setObject(self,forKey:AppUserDefaults.S