Tipografía en Swift
Estoy escribiendo una biblioteca que puede analizar Ids escritos desde JSON. Sin embargo, las reglas de conversión me parecen un poco desconcertantes.
Ejemplo:
class AccountId : NSString { }
let json : AnyObject? = "user-1" // Returned by NSJSONSerialization.JSONObjectWithData
let s = json as? NSString // Succeeds, s == Some("user-1")
let a = json as? AccountId // Fails, a == nil
¿Por qué tiene éxito la primera conversión tipográfica mientras que la segunda falla? ¿Hay algo mágico sobreNSString
que no se cruza con las clases de Swift-only?
Estoy usando XCode Versión 6.1 (6A1030) (la última en el momento de la escritura).