【发布时间】:2020-10-15 07:52:46
【问题描述】:
我正在下载图像并将带有整数的图像 url 添加到我的字典中。当视图即将消失时,我想使用用户默认值存储数据。不幸的是,我收到错误:“尝试插入非属性列表对象...”,如图所示。 我不明白为什么会出现此错误。
这是我用来下载图片和设置字典的代码。
var imageURLS = [Int: String]()
func downloadImage(url: URL) {
let dataTask = URLSession.shared.dataTask(with: url) { data, responseURL, error in
var downloadedImage:UIImage?
if let data = data {
downloadedImage = UIImage(data: data)
}
// if download actaully got an image
if downloadedImage != nil {
self.sum += 1 // increase the sum by one
self.cache.setObject(downloadedImage!, forKey: url.absoluteString as NSString) // cache the image
// add the sumas key
// add the url as value to the dictionary
self.imageURLS[self.sum] = url.absoluteString
}
}
dataTask.resume()
}
这是我存储和调用字典的代码。
override func viewWillDisappear(_ animated: Bool) {
UserDefaults.standard.set(imageURLS, forKey: "imageUrlDictionary")
}
override func viewWillAppear(_ animated: Bool) {
imageURLS = UserDefaults.standard.object(forKey: "imageUrlDictionary") as? [Int:String] ?? [:]
}
非常感谢您的帮助和建议!
【问题讨论】:
-
谢谢,我之前看过这个对我没有帮助。
标签: ios swift dictionary url nsuserdefaults