Ich versuche, das NSCoding-Protokoll auf eine Klasse zu verwenden, die ich in swift geschrieben habe, kann aber nicht herausfinden, warum der Compiler beschwert, dass es "nicht NSCoding-Protokoll entspricht", wenn ich Implementiere die erforderlichen Methoden:Swift: Entspricht nicht dem Protokoll NSCoding
class ServerInfo: NSObject, NSCoding {
var username = ""
var password = ""
var domain = ""
var location = ""
var serverFQDN = ""
var serverID = ""
override init() {
}
init(coder aDecoder: NSCoder!) {
self.username = aDecoder.decodeObjectForKey("username") as NSString
self.password = aDecoder.decodeObjectForKey("password") as NSString
self.domain = aDecoder.decodeObjectForKey("domain") as NSString
self.location = aDecoder.decodeObjectForKey("location") as NSString
self.serverFQDN = aDecoder.decodeObjectForKey("serverFQDN") as NSString
self.serverID = aDecoder.decodeObjectForKey("serverID") as NSString
}
func encodeWithCoder(_aCoder: NSCoder!) {
_aCoder.encodeObject(self.username, forKey: "username")
_aCoder.encodeObject(self.password, forKey: "password")
_aCoder.encodeObject(self.domain, forKey: "domain")
_aCoder.encodeObject(self.location, forKey: "location")
_aCoder.encodeObject(self.serverFQDN, forKey: "serverFQDN")
_aCoder.encodeObject(self.serverID, forKey: "serverID")
}
}
Ist das ein Fehler oder fehle ich gerade etwas?
"Das könnte sich zwischen den Beta-Versionen geändert haben" _ Wie kannst du es wagen, mir zu sagen, dass sie jetzt falsch liegen !? " Aber das ist natürlich das Leben in der schnelllebigen Beta-Spur ... – matt
@matt: Zumindest druckt der Compiler hier eine sinnvolle Nachricht, anstatt * "$% §? & Kann nicht in UInt8 konvertiert werden" * :) –
Außer dass die Hälfte der Zeit ist der Parameter, über den es sich beschwert, der falsche! :)) – matt