Swift-Klassen können in Objective-C nicht verwendet werden
Ich versuche mich zu integrierenSwift
Code in meiner App. Meine App ist in geschriebenObjective-C
und ich fügte hinzu, aSwift
Klasse. Ich habe alles beschrieben gemachtHier. Aber mein Problem ist dasXcode
habe das nicht erstellt-Swift.h
Datei, nur die überbrückenden Header. Also habe ich es erstellt, aber es ist tatsächlich leer. Ich kann alle meine ObjC-Klassen in Swift verwenden, aber nicht umgekehrt. Ich habe meine schnelle Klasse mit markiert@objc
aber es hat nicht geholfen. Was kann ich jetzt machen?
BEARBEITEN: Apple sagt: "Wenn Sie Swift-Code in Objective-C importieren, verlassen Sie sich auf eineXcode-generated
Header-Datei, um diese Dateien für Objective-C verfügbar zu machen. [...] Der Name dieses Headers ist der Name Ihres Produktmoduls, gefolgt von dem Zusatz "-Swift.h". "
Wenn ich diese Datei importieren möchte, wird ein Fehler angezeigt:
//MainMenu.m
#import "myProjectModule-Swift.h" //Error: 'myProjectModule-Swift.h' file not found
@implementation MainMenu
Hier ist meine FBManager.swift-Datei:
@objc class FBManager: NSObject {
var descr = "FBManager class"
init() {
super.init()
}
func desc(){
println(descr)
}
func getSharedGameState() -> GameState{
return GameState.sharedGameState() //OK! GameState is written in Objective-C and no error here
}
}