草庐IT

nsuserdefaults

全部标签

ios - NSUserDefaults 可以保存带有自定义对象的 NSArray 吗?

标题几乎解释了它。我是否需要先序列化对象,或者是否可以? 最佳答案 您必须使用NSData对对象(位于数组中)中的对象进行编码/解码并将数组存档到NSData。只需添加到你的对象的类(在你的数组中)并遵循你的编译器的警告:D然后像这样归档你的数组:NSData*data=[NSKeyedArchiverarchivedDataWithRootObject:yourArray];NSUserDefaults*defaults=[NSUserDefaultsstandardUserDefaults];[defaultssetObject

ios - 使用 InAppSettingsKit 时读取设置有问题

我正在使用InAppSettingsKit模块来管理我的设置。我可以将它包含在我的项目中,以便我可以构建一个与我的项目正确交互的设置页面。我有一个可以更改的root.plist,当我第一次在模拟器上运行我的应用程序时,我可以看到反射(reflect)的更改。但是,对于我来说,我无法通过我的代码访问NSUserDefaults中的设置。当我运行下面的代码时,我可以循环访问[NSUserDefaultsstandardUserDefaults]的内容。但是,我只看到一堆与我的plist文件中的内容无关的通用设置NSUserDefaults*d=[NSUserDefaultsstandard

ios - NSUserDefaults 被重置

我有一个iOS应用程序,最近收到了一些用户关于他们的设置被重置的报告。使用NSUserDefaults保存设置。我的问题是,用户默认值会因为某种原因损坏/重置吗?关于我如何使用它的一些注意事项:当我启动我的应用程序时,只有当key不存在时,我才会使用registerDefaults存储默认值(这样做是为了处理“首次安装”场景)。大多数上述报告都描述了应用程序崩溃,然后在重新打开时将设置重置为默认值。我对NSUserDefaults的使用非常简单-保存numbers/strings,有时读取它们,等等。没什么特别的。我不会删除key。一些代码示例:例如,我使用以下方法将数据保存在不同的位

ios - 在当前 View Controller 出现之前到达另一个 View Controller

我试图在当前ViewController出现之前转到一个新的ViewController,但似乎无法获取它。基本上我的应用程序,从启动页面开始并检查您是否保存了NSUserDefaults,如果是,它会打开主视图Controller。但是,当用户已经是用户时,我不希望用户在看到主视图之前先看到该View,这对用户不友好。我想让当前用户看到启动图像,然后直接看到主视图。但是我真的做不到。这就是我所做的,但产生了不良影响。-(void)viewDidAppear:(BOOL)animated{[superviewDidAppear:animated];NSUserDefaults*pref

ios - 检测首次在 iOS 中安装 NOT NSUserDefaults

工作原理-该应用是跨平台服务的订阅。在iphone上,首次购买将为您提供30天的完整功能,然后30天后您将无法执行某些操作,直到您通过应用内购买购买订阅。我需要什么-我需要知道这是否是第一次运行,以便我可以将用户信息添加到数据库中。或者因为它是跨平台的,他们可能已经支付了订阅费用,所以我需要为用户现有的订阅增加30天。我现在在做什么-目前我将identifierForVendor存储在远程数据库中,在NSUserDefaults中有一个bool值检查以查看1.如果它是第一次运行和2.如果它是第一次运行允许用户将自己添加到数据库中以进行30天的完整使用,或将30天添加到他们现有的订阅中。

iPhone - 应用程序在后台运行时更改应用程序设置

我遇到的问题是,如果我在应用程序在后台运行时更改应用程序设置,则在我的应用程序重新启动之前,更改在我的应用程序中不可用。我错过了什么或者是这样吗?非常感谢。Sj 最佳答案 使用-(void)applicationWillEnterForeground:(UIApplication*)application或-(void)applicationDidBecomeActive:(UIApplication*)application在您的应用委托(delegate)中重新配置您的应用。当您的应用程序在后台恢复后发送第一个。第二个在第一次启

ios - 为什么不在 NSUserDefaults 中存储密码是显而易见的?

我一直在谷歌上搜索如何存储密码,大多数人说唯一可接受的选择是钥匙串(keychain)。由于匆忙,我实现了这种方法。但现在我很好奇不将密码存储在NSUserDefaults中的显而易见的事情是什么,并且可以将密码存储在CoreData中吗?到目前为止,我了解到NSUserDefaults以纯文本形式存储在plist文件中。但是如何访问这个文件呢?我读过可以借助闪电电缆和iTunes来完成,但没有找到如何做到这一点。提前致谢! 最佳答案 您使用NSUSerDefault存储的数据将以简单的plist二进制格式保存,没有任何加密。读取这

objective-c - 在 iOS 中存储对象供以后使用

我的应用正在从我们的网络服务中提取JSON数据。到目前为止,在所有情况下,信息都将保留在内存中或只是即时刷新,除了API中使用的登录token外,无需在本地保留任何内容。通过我们正在添加的一项新功能,我们将采用一组位置,最多26个,具有经度、纬度、半径和名称。我还需要向该数据添加1-2个字段以创建更大的对象。所以我的问题是,在iOS文件系统中存储此类数据的最佳方式是什么?目前我一直在使用NSUserDefaults,但对于大量数据来说,这似乎有点受限或不明智。也许不是。此数据将需要检索、更改或编辑,然后重新保存。所有这一切同时仍然保留了拉动这26个物体中的任何一个的能力。提前感谢您的阅

iphone - NSNumber 存储在 NSUserDefaults 中

刚刚发生了一些奇怪的事情。我在NSUserDefaults中存储了一个带有unsignedlonglong值的NSNumber。当我检索它时,值刚刚改变。看起来系统认为这个数字是longlong而不是unsignedlonglong。更糟糕的是,当我将从UserDefaults中检索到的数字与原始数字进行比较时,结果是NotEqual!代码有什么问题?谢谢!staticNSString*constNumberKey=@"MyNumber";unsignedlonglongvalue=15908045869032883218ULL;if([[NSUserDefaultsstandardU

ios - 如果应用程序在 10 秒内被杀死,NSUserDefaults 会丢失新保存的数据

我正在寻找一种比NSUserDefaults更快的方式来保存用户首选项。我发现如果应用程序在写入NSUserDefaults后大约10秒内被终止,它将不会被永久保存。我使用默认值来保存自定义铃声的路径、自定义图像的路径、map坐标,基本上只是用户定义的首选项。使用核心数据是更好的选择吗?数据库?什么被认为是最快和最轻量级的? 最佳答案 您需要确保立即调用同步以保存数据。[[NSUserDefaultsstandardUserDefaults]synchronize];来自Apple的classreference:Becausethi