Comment importer des classs Objective C existantes dans Swift

Je me suis amusé avec Swift pendant un moment dans XCode 6.0 DP pour l'utiliser dans mon projet existant. J'essaie d'accéder à MyModel.h (Mon object model Objective C existant) à partir de mon file ViewController.swift. Je voulais importer

#import "MyModel.h" dans mon file Swift. Mais je ne pouvais pas find comment cela peut être fait.

Poster la réponse si cela aide quelqu'un confronté au même problème.

J'ai trouvé qu'une solution assez simple pour ce faire est donnée dans la bibliothèque de développeur iOS. Veuillez vous référer au lien suivant:

https://developer.apple.com/library/content/documentation/Swift/Conceptual/BuildingCocoaApps/MixandMatch.html#//apple_ref/doc/uid/TP40014216-CH10-XID_75

Apple Doc dit:

Pour importer un set de files Objective-C dans la même cible d'application que votre code Swift, vous devez utiliser un en-tête de binding Objective-C pour exposer ces files à Swift. Xcode propose de créer ce file d'en-tête lorsque vous ajoutez un file Swift à une application Objective-C existante ou un file Objective-C à une application Swift existante.

J'ai donc créé le MyApp-Bridging-Header.h et ajouté la ligne suivante:

 #import "MyModel.h" 

Maintenant, il me permet d'utiliser le model dans mon ViewController.swift comme suit:

 var myModel = MyModel() myModel.name = "My name" myModel.dobSsortingng = "11 March,2013" println ("my model values: Name: \myModel.name and dob: \myModel.dobSsortingng") 

FYI à tous ceux qui essayent de comprendre cela. Si vous devez créer le file de pont à partir de rien, vous devez également spécifier un path d'access dans Paramètres de construction> Compilateur rapide> En-tête de rapprochement Objective-C.

Dans Document a déclaré à la programmation rapide Il n'y a pas de déclaration d'import.

entrez la description de l'image ici

Pour importer dans l'application Swift ou dans l'application Objective C qui crée une application en plusieurs langues, vous devez créer un en-tête de binding que vous pouvez consulter dans Apple Docs.

Cela dit

Les files Objective-C et Swift peuvent coexister dans un même projet, que le projet soit à l'origine un projet Objective-C ou Swift. Vous pouvez simplement append un file de l'autre langue directement à un projet existant. Ce workflow naturel permet de créer des cibles d'application et de framework en langage mixte aussi simples que de créer une cible d'application ou de framework écrite dans une seule langue.

Pour importer un set de files Objective-C dans la même cible d'application que votre code Swift, vous devez utiliser un en-tête de binding Objective-C pour exposer ces files à Swift. Xcode propose de créer ce file d'en-tête lorsque vous ajoutez un file Swift à une application Objective-C existante ou un file Objective-C à une application Swift existante.

EDIT: J'ai créé un code pour votre aide, vous pouvez le find ici