【问题标题】:Settings.bundle issueSettings.bundle 问题
【发布时间】:2016-04-26 14:48:26
【问题描述】:

我在访问我的设置时遇到问题。我在我的 Xcode 项目中添加了一个设置包:

我添加了以下快速代码来访问 name_preference 键:

【问题讨论】:

  • 始终将代码粘贴到问题中,而不是代码的屏幕截图。谢谢。
  • 如果对您有用,请批准一个答案。

标签: xcode swift nsuserdefaults root.plist


【解决方案1】:

UserDefaults 因缺少首选项键而崩溃

显式展开是危险的!:如果字符串为空会发生什么?

不好:

let crash = settings.stringForKey("name_preference")!

使用string

let settings = UserDefaults.standard
if let name = settings.string(forKey: "name_preference") {
    print(name)
}

使用object

let settings = UserDefaults.standard
if let name = settings.object(forKey: "name_preference") as? String {
    print(name)
}

测试:进入设置并输入一个字符串:


► 在GitHub 上查找此解决方案,在Swift Recipes 上查找更多详细信息。

【讨论】:

  • 谢谢。你是对的,但这并不能解决我的问题。我仍然无法从 Root.plist 文件中获取字符串。
  • name 变量在哪里以及如何定义?我已经发布了一个项目来展示响应。下载swiftarchitect.com/recipes/#SO-34905431,编译、链接、构建、运行并与您自己的进行比较。另外,请尽可能以纯文本形式发布错误。
  • 非常感谢!!!我的错误是我认为我项目中 Root.plist 文件中的设置已与终端同步,但事实并非如此。我添加在设置中输入一些字符串,我可以在我的代码中捕获相同的字符串。
  • 当然!你是怎么做到的?
  • 但更重要的是,尽可能用纯文本替换第二张图片。
猜你喜欢
  • 2014-01-26
  • 1970-01-01
  • 2011-10-11
  • 1970-01-01
  • 2011-10-11
  • 1970-01-01
  • 1970-01-01
  • 2011-05-20
  • 2014-08-30
相关资源
最近更新 更多