versiones ventajas requerimientos plataforma objective entre diferencia desarrollar con compiler ios objective-c swift

ios - ventajas - mezcla objetivo-c y veloz cuando subclases



ventajas de objective c (3)

Tengo una subclase de UIViewController escrita en Swift llamada ''BaseViewController''. Ahora tengo un controlador de vista ''viejo'' llamado ''ViewController1'' escrito en Objective-C que quiero heredar de ''BaseViewController''. Siguiendo otros consejos, importé el archivo de encabezado ''Project-Swift.h''.

Mi problema ocurre cuando subclases como este

#import <UIKit/UIKit.h> #import "MyProject-Swift.h" @interface ViewController1 : BaseViewController @end

El error es:

No se puede subclasificar una clase con el atributo objc_subclassing-restricted

y aparece en la línea @interface ...



Es un error de compilación, por lo que U no puede subclasificar una clase rápida en objc.

SWIFT_CLASS("_TtC6Swifty14ViewController") @interface ViewController : UIViewController @end # if defined(__has_attribute) && __has_attribute(objc_subclassing_restricted) # define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA # define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA # else # define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA # define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA # endif #endif


No puede subclasificar una clase Swift en Objective-C. cf. hacia el final de esta sección de los documentos :

Sin embargo, tenga en cuenta que no puede subclasificar una clase Swift en Objective-C.