development - swift ios
La depreciación y otros atributos de los métodos en Swift, ¿cómo? (2)
En Objective-C puedo hacer esto
- (id)init __attribute__((unavailable("init is unavailable, use initWithFrame")));
para advertir a los usuarios que no deberían usar ese método para la inicialización de una clase y puedo agregar este otro atributo __ para desaprobar un método
+(void)shareWithParams:(NSDictionary *)params
__attribute((deprecated("use shareWithPars: instead")));
¿Es posible hacer algo así en Swift?
Para Swift 3 y Swift 4, en lugar de usar el signo =
para establecer el mensaje, debe usar el signo :
Por ejemplo:
@available(*, deprecated, message: "Use EndPointModel class instead")
class BaseModel {
}
Swift tiene un atributo available
que puedes usar para esto. Sus argumentos disponibles incluyen
- introducido
- obsoleto
- obsoleto
- mensaje
- renombrado
O por el ejemplo que diste:
@available(*, unavailable, message: "init is unavailable, use initWithFrame")
init() {
}
@available(*, deprecated, message: "use shareWithPars: instead")
class func shareWithParams(params: NSDictionary) {
}
Para obtener más información sobre estos atributos, consulte la sección de Atributos en The Swift Programming Language . (actualmente página 627)