¿Cómo cumplir con NSCopying e implementar copyWithZone en Swift 2?
Me gustaría implementar un simpleGKGameModel
en Swift 2. El ejemplo de Apple se expresa en Objective-C e incluye esta declaración de método (como lo requiere el protocoloNSCopying
a partir del cualGKGameModel
hereda):
- (id)copyWithZone:(NSZone *)zone {
AAPLBoard *copy = [[[self class] allocWithZone:zone] init];
[copy setGameModel:self];
return copy;
}
¿Cómo se traduce esto en Swift 2? ¿Es apropiado lo siguiente en términos de eficiencia e ignorar la zona?
func copyWithZone(zone: NSZone) -> AnyObject {
let copy = GameModel()
// ... copy properties
return copy
}