No cumple con el protocolo 'NSCoding' – Swift 3

He visto varias preguntas similares a las mías; sin embargo, esos pertenecen a swift 2/1 y actualmente estoy usando Swift 3. Creo que Apple lo ha cambiado ligeramente.

class Person: NSObject, NSCoding { var signature: UIImage init(signature: UIImage) { self.signature = signature } requinetworking 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") } } 

Notarás cómo Swift 3 ahora me obliga a usar la requinetworking convenience init( lugar de la requinetworking init( . Quizás eso tenga algo que ver con eso.

¿Cómo puedo resolver este problema? ¡Gracias!

El método de encode en Swift 3 se ha cambiado a

 func encode(with aCoder: NSCoder) 

Cuando obtiene el error de no conformar , puede encontrar fácilmente qué methods requeridos faltan

  • Presione ⌘B para build el código.
  • Presione ⌘4 para mostrar el browser de problemas.
  • Haga clic en el triángulo de divulgación en frente de la línea de emisión.