-
从我的应用程序中保存少量数据时,最好使用NSUserDefaults还是NSCoding?
-
事情并不像在用户手机上存储登录数据的最佳做法那样清晰.有人建议将userID=123和loggedIn=true类型数据等数据存储在NSUSerDefaults数据中.然而根据我的理解,根据这篇文章https://www.andyibanez.com/nsuserdefaults-not-for-sensitive-data/,这些数据可以很容易地被操作所以问题是:当用户浏览各种屏幕时,持久登录数
-
我想知道正确的地方可以保存应用程序的运行状态,因为iCloud和iOS5已经改变了各种选项的工作方式.NSUserDefaults的?是不是与iCloud同步?我没有特别希望上传应用程序的状态.这是不必要的.缓存?那现在已经被清除了.这不是一个保存东西的安全点.那么这些天拯救国家的官方推荐地点是什么?解决方法在我看来,iOS开发人员倾向于使用NSUserDefaults,即使它指的是用户设置.例如,我最近将流行的Appirater库添加到我的应用程序中,并发现它使用NSUserDefaults来存储其状态
-
我在我的精灵工具包应用程序中遇到问题,我的NSUserDefaults变量无效.在createSceneContents(我知道被调用)然后当您单击SKLabelNode以更改难度时,将调用此代码但是当我停止程序并再次运行时,它总是说难度:容易.有什么建议?解决方法正如rmaddy的回答所解释的那样,NSUserDefaults不会立即将数据写入长期存储.当你调用setobject:forKey:
-
我有一个名为soundSwitch的开关,我使用用户默认值保存按钮的状态:当用户首次启动应用程序时,实际的默认值最初为false.如果用户首次启动应用程序并且尚未配置它,则如何实现默认值为true.我在Objective-C中看到过方法,但在Swift中没有.从我看到的,你可以在应用程序中做一些如何,或在plist文件中.我该如何做这些?解决方法Swift3语法示例注册一个布尔默认值:并获得价值:Sidenote:虽然上述代码将返回true,但请注意,在设置之前,该值实际上并不写入磁盘:
-
我一直试图通过使用NSTimer在我的应用程序的左下角显示一个计时器,并将“经过时间”显示为左下角的UILabel,但它并没有为我工作.计时器实际上工作,但我不能让它由按钮触发.我正在尝试让计时器继续运行,而不是在进入下一个storyboard/xib文件时重新启动.解决方法要在按下按钮时实现计时器操作,您需要在IBAction方法上编写它,如:要存储以前的值,可以使用NSUserDefaults或sqlite数据库.为此,我建议NSUserDefaults.更改aTime方法,如:
-
我正在尝试在我的应用程序和自定义键盘扩展之间共享数据.我在主应用程序目标和自定义键盘目标中打开了AppGroups.在我的主应用程序中,我添加了一个具有以下内容的对象:在控制台中打印出[userDefaultsdictionaryRepresentation]会显示该对象已被保存,调用[userDefaultsobjectForKey:@“KEY”]也是如此.但是,当我尝试在自定义键盘扩展中访问此
-
在我的iOS项目中,我需要保存整个JSON作为用户数据,然后在下一个应用程序启动时重新加载它.将其压缩成许多值,然后重新创建JSON不是一个选项,我只需要一些可序列化的方式来保存整个原始的JSON.我尝试通过执行json.rawString()将其转换为String,并通过将获取的字符串传递给JSON(字符串)来重新创建它,但不起作用.我很惊讶于制作这样一件简单的事情的困难,以及缺乏关于这样一个在
-
谢谢解决方法编辑这个答案不再更新,因为在最后的Swift版本中,Apple更改了NSUserDefaults上的objectForKey的方法声明返回一个可选的(?).这是为了避免程序员需要每次打开值来清除代码.然而,第一个问题是EXC_BAD_INSTRUCTION被错误地列出,因为这个声明没有给出错误所以这再次给了我正确的方法,并且理解了隐含解开的可选项的含义解决方案很简单,因为返回的值可以为零,selectMonth应该有一个变量?optinal值作为varselectedMonth的类型2)返回一
-
我有一个班我想要序列化并保存到用户默认值.首先我不知道如何正确编写编码器和解码器.所以对于init我写了两个方法.当我尝试执行这个代码:应用程式崩溃,我收到这则讯息:我做错了什么?