Como salvar uma matriz de estrutura personalizada para NSUserDefault com swift?
Eu tenho uma estrutura personalizada chamada 'Notícias' que quero acrescentar na matriz ao NSUserDefault. Mas está mostrando o erro "O tipo 'Notícias' não está em conformidade com o protocolo 'AnyObject'".
Não quero alterar a estrutura 'Notícias' para uma classe, pois ela já está sendo usada para outro código. Existe alguma maneira de alterar o tipo NSUserDefaults.standardUserDefaults (). ArrayForKey ("savedNewsArray") para [News]?
var savedNews = NSUserDefaults.standardUserDefaults().arrayForKey("savedNewsArray")
var addSavedNews = savedNews as? [News]
addSavedNews.append(News(id: "00", title: newsTitle, source: source, imageURL: imageURL, url: url))
NSUserDefaults.standardUserDefaults().setObject(addSavedNews, forKey: "savedNewsArray")
NSUserDefaults.standardUserDefaults().synchronize()
Aqui está a estrutura 'Notícias'.
public struct News {
public var id: String
public var title: String
public var source: String?
public var imageURL: String?
public var date: NSDate?
public var url: String
init(id: String, title: String, source: String, imageURL: String, url: String) {
self.id = id
self.title = title
self.source = source
self.imageURL = imageURL
self.url = url
}
}