更新时间:2023-10-19 13:34:58
你需要创建数据
实例使用 JobCategory 实例code> NSKeyedArchiver.archivedData(withRootObject :) 并将 Data
实例存储在 UserDefaults
以后使用 NSKeyedUnarchiver.unarchiveObject取消归档(使用:)
,请尝试这样。
You need to create Data
instance from your JobCategory
instance using NSKeyedArchiver.archivedData(withRootObject:)
and store that Data
instance in UserDefaults
and later unarchive using NSKeyedUnarchiver.unarchiveObject(with:)
, So try like this.
用于存储中的数据UserDefaults
For Storing data in UserDefaults
let category = JobCategory(id: 1, name: "Test Category", URLString: "http://www.example-job.com")
let encodedData = NSKeyedArchiver.archivedData(withRootObject: category)
let userDefaults = UserDefaults.standard
userDefaults.set(encodedData, forKey: UserDefaultsKeys.jobCategory.rawValue)
用于从 UserDefaults
For retrieving data from UserDefaults
let decoded = UserDefaults.standard.object(forKey: UserDefaultsKeys.jobCategory.rawValue) as! Data
let decodedTeams = NSKeyedUnarchiver.unarchiveObject(with: decoded) as! JobCategory
print(decodedTeams.name)