Ho visto diverse domande simili alle mie; tuttavia, quelli sono relativi a swift 2/1 e attualmente sto usando swift 3. Credo che Apple lo abbia cambiato leggermente.Non conforme al protocollo '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")
}
}
Noterete come Swift 3 ora mi costringe a usare required convenience init(
invece di required init(
. Forse questo ha qualcosa a che fare con questo.
Come posso risolvere questo problema? Grazie!
Hai provato "Modifica -> Converti -> Sintassi Swift corrente" in Xcode? Questo dovrebbe risolvere automaticamente il problema. –