Ich habe einige ähnliche Fragen wie meine gesehen; Allerdings beziehen sich diese auf swift 2/1 und ich verwende derzeit swift 3. Ich glaube, Apple hat es leicht geändert.Entspricht nicht dem Protokoll 'NSCoding' - Swift 3
class Person: NSObject, NSCoding {
var signature: UIImage
init(signature: UIImage) {
self.signature = signature
}
required convenience init(coder aDecoder: NSCoder) {
let signature = aDecoder.decodeObject(forKey: "signature") as! UIImage
self.init(signature: signature)
}
func encodeWithCoder(aCoder: NSCoder) {
aCoder.encode(signature, forKey: "signature")
}
}
Sie werden feststellen, wie Swift 3 mich jetzt zwingt required convenience init(
statt required init(
zu verwenden. Vielleicht hat das etwas damit zu tun.
Wie kann ich dieses Problem beheben? Vielen Dank!
Haben Sie in Xcode "Edit -> Convert -> To Current Swift Syntax" versucht? Das sollte das Problem automatisch beheben. –