Xcode 8:类型“UserDefaults”没有成员“标准”
Posted
技术标签:
【中文标题】Xcode 8:类型“UserDefaults”没有成员“标准”【英文标题】:Xcode 8: Type 'UserDefaults' has no member 'standard' 【发布时间】: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-clickUserDefaults
,它会显示什么?
我刚刚发现在我的项目中确实定义了一个自定义 UserDefault 类型。很确定不是我自己添加的,可能是我的同事之一。我的愚蠢错误,感谢您的帮助!
【参考方案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
【讨论】:
以上是关于Xcode 8:类型“UserDefaults”没有成员“标准”的主要内容,如果未能解决你的问题,请参考以下文章
UserDefaults - 使用 Xcode Simulator 时保存不一致
如何在 Xcode 中终止并重新打开应用程序后检查 UserDefaults (swift)
创建具有未知类型的图像格式是一个错误 Objective-C Xcode 8