我正在以以下方式访问用户默认值:
let data = UserDefaults.standard.object(forKey: identifier)
当我看到数据中的值时,它显示为:
https://i.stack.imgur.com/UOjI8.png
data
的类型是
po type(of: data)
Swift.Optional<Any> . //Output
如何访问pageNumber
?
答案 0 :(得分:1)
因为数据是字典,才能访问pageNumber
,所以您需要将数据转换为Dictionary
guard let data = UserDefaults.standard.value(forKey: identifier) as? [String: Any] else { //fallback here if you need return }
let pageNumber = data["pageNumber"] as? Int ?? 0
答案 1 :(得分:0)
只需在dictionary(forKey:)
实例上使用UserDefaults
方法即可直接从dictionary
获取UserDefaults
。
返回的dictionary
类型为[String:Any]?
if let dict = UserDefaults.standard.dictionary(forKey: identifier) {
let pageNumber = dict["pageNumber"] as? Int
}
注意:pageNumber
的类型为Int?
。 Unwrap
,以便进一步使用。