Estoy usando EVNetworkningObject de la biblioteca EVReflection para serializar o deserializar la respuesta json del servicio web. Significa que no puedo cambiar el nombre de la propiedad "descripción" como "descripción_" o algo así. Al mismo tiempo, el backend no cambiará su propiedad de respuesta por mí. ¿Cómo puedo corregir este error?
El mensaje de error dice
El captador de 'descripción' con el selector de Objective-C 'descripción' entra en conflicto con el captador de 'descripción' de la superclase 'NSObject' con el mismo selector de Objective-C
description es una propiedad del protocolo llamado NSObjectProtocol de NSObject .
public var description: String { get } Por lo tanto, no puede iniciar ninguna variable con el mismo nombre en ninguna subclase de NSObject .
Para obtener más información, visite https://developer.apple.com/documentation/objectivec/nsobjectprotocol/1418746-description .
Intente iniciar la variable con nombres diferentes o implementar con el protocolo Codable de lo que @vadian sugirió en los comentarios.
La solución, con mucho, la más fácil, es cambiar el nombre de la propiedad. Ej: var announcementDescription : String?
Supongo que está utilizando JSON decodificable para obtener datos JSON. si es así, no necesita hacer su superclase de tipo NSObject . La razón por la que recibe este error es porque el nombre entra en conflicto con el captador de 'descripción' de la superclase 'NSObject'. Así que haga que el objeto EVNetworking (que es su súper clase) sea una clase que se ajuste solo al protocolo decodificable y no a una clase de tipo NSObject.