【发布时间】:2019-03-14 02:54:32
【问题描述】:
我正在创建一个需要UserDefaultManager 的应用程序。但不幸的是它显示了一个错误:
使用未解析的标识符“UserDefaults”
我试图通过声明一个变量来解决它:
let UserDefaults = NSUserDefaults.standardUserDefaults()
但它仍然不适合我。下面附上我的代码供您参考。希望您能够帮助我。顺便说一句,我使用的是 xcode 10。
struct UserDefaultsManager {
private static let isLoggedInKey = "com.example.key.isLoggedIn"
// let UserDefaults = NSUserDefaults.standardUserDefaults()
static func login() {
UserDefaults.standard.setValue(true, forKey: isLoggedInKey)
UserDefaults.standard.synchronize()
}
static func logout() {
UserDefaults.standard.setValue(false, forKey: isLoggedInKey)
UserDefaults.standard.synchronize()
}
static func isLoggedIn() -> Bool {
return UserDefaults.standard.bool(forKey: isLoggedInKey)
}
}
【问题讨论】:
-
你
import Foundation了吗? -
不要使用
synchronize。阅读它的文档。 -
@rmaddy 是的,我用过
import Foundation -
你的代码在 Xcode 10.1 的 Swift 4.2 操场上对我来说编译得很好。
-
与您的问题无关,但不要使用
setValue(_:forKey:)。使用setBool(_:forKey:)。
标签: ios swift nsuserdefaults xcode10 swift4.2