Swift Language Usando clases Swift desde el código Objective-C


Ejemplo

En el mismo modulo

Dentro de un módulo llamado " MyModule ", Xcode genera un encabezado llamado MyModule-Swift.h que expone las clases públicas de Swift a Objective-C. Importe este encabezado para usar las clases Swift:

// MySwiftClass.swift in MyApp
import Foundation

// The class must be `public` to be visible, unless this target also has a bridging header
public class MySwiftClass: NSObject {
    // ...
}
// MyViewController.m in MyApp

#import "MyViewController.h"
#import "MyApp-Swift.h"                    // import the generated interface
#import <MyFramework/MyFramework-Swift.h>  // or use angle brackets for a framework target

@implementation MyViewController
- (void)demo {
    [[MySwiftClass alloc] init];  // use the Swift class
}
@end

Configuraciones de construcción relevantes:

  • Nombre de encabezado de interfaz generado por Objective-C : controla el nombre del encabezado Obj-C generado.
  • Instale el encabezado de compatibilidad de Objective-C : si el encabezado -Swift.h debe ser un encabezado público (para los destinos del marco).

configuración de construcción captura de pantalla


En otro modulo

Utilizando @import MyFramework; importa todo el módulo, incluidas las interfaces Obj-C a las clases Swift (si la configuración de compilación antes mencionada está habilitada).