¿Cómo guardar una matriz de estructura personalizada en NSUserDefault con swift?

Tengo una estructura personalizada llamada 'Noticias' que deseo agregar a la matriz de NSUserDefault. Pero muestra el error "Escriba 'Noticias' no se ajusta al protocolo 'AnyObject'".

No quiero cambiar la estructura 'Noticias' a una clase ya que ya se está utilizando para otro código. ¿Hay alguna forma de que pueda cambiar el tipo NSUserDefaults.standardUserDefaults (). ArrayForKey ("savedNewsArray") a [Noticias]?

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()

Aquí está la estructura 'Noticias'.

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
    }
}

Respuestas a la pregunta(3)

Su respuesta a la pregunta