问题标签 [nsuserdefaults]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
943 浏览

iphone - 是否可以在应用程序之间共享设置包和 NSUserDictionary 对象?

我的猜测是答案是否定的,但我想我还是会问。

假设我有一个共享库,多个应用程序将其构建到它们的可执行文件中。现在假设这个共享库为使用该库的所有 n 个应用程序使用相同的用户名/密码的某些 Web 服务提供了一个 API。

那么是否可以在一个地方(例如系统设置)设置用户名/密码并允许多个应用程序访问设置,或者 NSUserDefaults 是否仍然完全被沙盒化?

这似乎是钥匙串的用途,但是您可以将它用于任意数据而不是仅用于身份验证数据吗?可以使用设置包来更改具有相同苹果 ID 前缀的应用程序之间共享的钥匙串数据吗?

0 投票
1 回答
736 浏览

iphone - iphone设置应用程序持久化数据

在我的应用程序中,我使用 NSUserDefaults 对象将用户名、密码和服务器 URL 存储在内置的设置应用程序中。如果没有保存数据,用户会看到一个登录界面,登录成功后会保存用户名和密码。然后在我的应用程序中,我有一个显示此信息的视图,但缺少文本,好像数据尚未保存到设置中一样。这是代码:

因此,登录后会显示正面消息,但是当我再次获取数据时,那里什么都没有,除非我重新启动应用程序。

我需要做什么来立即保存数据,或者至少在另一个视图控制器需要读取设置之前?

0 投票
3 回答
3422 浏览

iphone - 让用户“重置”应用程序设置(NSUserDefaults)的可接受方式?

我想允许用户在我的应用程序的 iPhone设置中重置默认值。我似乎无法在我见过的应用程序中找到任何示例。基本上你会去设置并找到你的应用程序的设置。在列表的底部会有某种选项来重置默认值或其他。我只是不确定如何处理它,因为我不知道我们可以在设置中使用一个普通的旧圆形矩形按钮?!?

我能想到的最好的办法是设置一个显示“重置”的开关,用户可以在“是”和“否”之间滑动。然后,当我的应用程序启动时,它会查看它是否为“是”,然后擦除 NSUserDefaults。据我所知,这个问题是当用户滑动到“是”时没有反馈。在用户启动我的应用程序之前,所有旧设置都将保留在设置应用程序中,然后它就可以开展业务了。

而且,不,我不想在应用程序本身中这样做——如果可能的话。

有任何想法吗?我在屠戮HIG吗?

0 投票
1 回答
689 浏览

iphone - iPhone 应用程序设置是否必须显示在 iPhone 系统设置中?

如果我使用 NSUserDefaults 来存储我的应用程序的设置,有没有办法让我的应用程序的设置“隐藏”而不显示在 iPhone 上的常规设置应用程序中?我知道还有其他工具,例如 mySettings、Keychain 等,但我只是想知道某处是否有一个标志在设置中显示“不显示我的设置”,因为我只想通过我的自己的应用程序。

0 投票
2 回答
5618 浏览

objective-c - PLIST 示例或教程中的 OS X 数据存储?

我已经找了几个小时来寻找一个关于如何为我用 Objective-C 编写的命令行程序存储数据的好教程。我的选项似乎是 NSUserDefaults、Plists、sqlite 或 XML。

现在,我想我最多有 50kb 的数据来存储、检索和修改,所以从我读到的 Plists 似乎可以正常工作,但我很难在网上找到一个好的教程。(我对目标 C 完全陌生)。我找到的所有东西都是针对 iPhone 或 NSUserDefaults 的——我都不是在寻找它们。

谁能指出我正确的方向?我希望只是复制“默认写入 com.yourcompanyname.yourappanme 密钥数据”的非常基本的功能

我将不胜感激朝着正确的方向轻推,但同样,我是全新的,所以最基本的教程是最好的。

0 投票
3 回答
1105 浏览

iphone - 放置 NSUserDefault 保存/加载代码的最佳位置在哪里?

使用 NSUserDefaults 保存/加载一些小值......这非常简单。

但是我应该在哪里放置我的 SAVE 或 LOAD 代码?

仅当显示某个视图时,我才希望将默认值设置为 LOAD。我希望默认设置为 SAVE,仅当该视图退出/卸载/隐藏时。

(我使用“基于视图的模板”创建了一个简单的应用程序,并将我的字符串值放在 UITextFields 内部的视图中。)

0 投票
2 回答
108 浏览

iphone - 如何在下次启动应用程序时重新创建应用程序的最后状态?

我有 2 个视图。当我在第一个视图时,我有一个文本字段。我在文本字段中输入了一些文本。我退出应用程序,启动另一个应用程序,然后返回到我的应用程序。我想维护文本字段和该视图的状态。同样,如果我在第二个视图处于活动状态时退出,当我返回应用程序时,我需要将视图返回到应用程序退出时的状态。

如何保存有关上次退出时应用程序状态的信息,以便在下次启动时重新创建它?

0 投票
3 回答
1507 浏览

iphone - Objective C - objectForKey 的问题

好的,我正在尝试为我的应用程序编写一个高分函数。

我的问题是,当还没有保存高分时,我的程序崩溃了。

如果我保存它:

首先,它工作正常。但是,如果我第一次启动程序并尝试使用以下代码查看高分:

坏事发生。

基本上,是否可以查看在 firstName 下是否还存在任何内容?有没有办法在不删除任何可能已经存在的名称的情况下进行初始化?

谢谢。

0 投票
4 回答
3264 浏览

nsuserdefaults - NSKeyedArchiver/NSuserDefaults - 保存一个 CGRect

我的应用程序涉及用户能够拖动特定项目,例如音量滑块和 UIImage 视图。我的目标是能够保存项目的位置,以便用户在重新启动后不必再次拖动项目。不幸的是,我在采用“保存CGRect rect = item.frameNSuserDefaultsNSKeyedArchiver”路线时看到了错误。还有其他建议吗?

0 投票
1 回答
1860 浏览

iphone - 如何在新版本中迁移 NSUserDefaults?

我有一个 iPhone 应用程序,它使用NSUserDefault standardUserDefaults.

当我向应用程序添加新功能时,我需要添加新的默认设置,因此我必须迁移/升级NSUserDefaults. 现在,我只存储版本号并在应用程序启动时检查它。它很快变得非常混乱,因为我必须添加很多if语句。我不能假设用户只是从以前的版本升级,甚至可能是之前的几个版本。

我喜欢 CoreData 似乎处理迁移表更改的方式,但我想提供 2.2.1 SDK 兼容性,当然 CoreData 与NSUserDefaults.

有什么建议或最佳实践吗?