【发布时间】:2019-02-11 12:32:52
【问题描述】:
我正在尝试将一些字典添加到数组中并使用UserDefaults 保存它,但问题是数组不附加新字典,而只是替换字典。我该如何解决这个问题?
代码如下:
class Bookmark: NSObject {
var bookmark: [[String:Any]] = []
override init() {
super.init()
}
func setBookmark(imageURL:String, title:String, description:String, summary:String, date:String, link:String) {
bookmark.append(["imageURL":imageURL , "title":title , "description":description, "summary":summary , "date":date, "link":link])
UserDefaults.standard.set(bookmark, forKey: "bookmark")
}
func getBookrmark() -> [Any] {
let loadedBookmark = UserDefaults.standard.array(forKey: "bookmark")
return (loadedBookmark)!
}
}
使用书签类:
class ReadViewController: UIViewController {
var bookmark = Bookmark()
func save() {
bookmark.setBookmark(imageURL: nImageURL.absoluteString, title: ntitle!, description: nDescription.htmlToString , summary: nSummary!, date: nDate!, link: nLink.absoluteString)
}
【问题讨论】:
-
您调试问题了吗?
bookmark在您向其附加内容之前和之后包含什么? – 我的猜测:您创建 Bookmark 类的新实例(以空数组开头)。 -
@MartinR 正确:) 我已经尝试回答了
-
显示您正在创建
Bookmark对象并调用其方法的代码。我试过了,它工作得很好。
标签: ios arrays swift dictionary nsarray