【问题标题】:Xcode 8: Type 'UserDefaults' has no member 'standard'Xcode 8:类型“UserDefaults”没有成员“标准”
【发布时间】:2016-10-19 11:33:07
【问题描述】:

我正在尝试让 UserDefaults 在 Xcode8/Swift 3 中工作,但不断收到以下错误:

类型“UserDefaults”没有成员“标准”

我的代码:

let defaults = UserDefaults.standard
defaults.set("value", forKey: "myKey")

【问题讨论】:

  • 该代码在我的 Xcode 8 中编译没有错误。您是否在项目的某处定义了另一个 UserDefaults 类型?
  • 我的一个同事遇到了类似的问题,通过重新下载xcode解决了。
  • 我没有在我的项目中定义另一个 UserDefaults,我在另一个项目中也得到了相同的代码,它编译没有错误......我会尝试重新下载 xcode
  • 如果你在 Xcode 中 cmd-click UserDefaults,它会显示什么?
  • 我刚刚发现在我的项目中确实定义了一个自定义 UserDefault 类型。很确定不是我自己添加的,可能是我的同事之一。我的愚蠢错误,感谢您的帮助!

标签: ios swift3 xcode8


【解决方案1】:

您可以添加命名空间来修复它:

let defaults = Foundation.UserDefaults.standard

【讨论】:

    【解决方案2】:

    我遇到过这个问题。我在我的项目中创建了一个类“UserDefaults”。当我将类名更改为不同的名称时,它是固定的。

    【讨论】:

      【解决方案3】:

      在 Swift 5 Xcode v12.4 中

      我的类需要从 NSObject 继承才能使用 UserDefault 方法。

      class UserDefaults: NSObject, ... {
         
         //methods would not pop up without NSObject inheritance
         UserDefaults.standard.set( ect....)
      
      }
      

      【讨论】:

        【解决方案4】:

        清除 XCode 的派生数据 xcode->preferences->locations->derice

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-06-05
          • 2016-07-08
          • 1970-01-01
          • 2019-08-14
          • 2011-08-12
          • 1970-01-01
          相关资源
          最近更新 更多