importer un cadre rapide dans un projet objective-c

J'importe un cadre rapide dans un projet d'objective-c comme celui-ci:

@import MyFramework; 

Le problème est que seules certaines classs sont reconnues par la class que j'importe.

La class qui est reconnue:

 public class RecognizedClass:UIViewController, WKNavigationDelegate, WKScriptMessageHandle { ... } 

La class qui n'est pas:

 public class VeediUtils { ... } 

Ils sont tous deux publics alors pourquoi le premier est reconnu dans l'espace de travail et l'autre non?

Aussi, je vois dans le file d'en-tête MyFramework-Swift.h qu'une class

 @interface RecognizedClass : UIViewController <WKNavigationDelegate, WKScriptMessageHandler> 

Apparaître tandis que l'autre ne pas

Pourquoi donc?

Aussi pour souligner que cette même procédure fonctionne quand j'importe un cadre rapide pour un projet rapide

Pour accéder à une class rapide dans objc, qui n'est pas héritée de NSObject, vous devez:

@objc public class VeediUtils

Une class ou un protocole Swift doit être marqué avec l'atsortingbut @objc pour être accessible et utilisable dans Objective-C. Cet atsortingbut indique au compilateur que ce morceau de code Swift est accessible depuis Objective-C. Si votre class Swift est un descendant d'une class Objective-C, le compilateur ajoute automatiquement l'atsortingbut @objc pour vous.

https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/BuildingCocoaApps/MixandMatch.html

Si vous avez déjà configuré Project pour s'intégrer à Swift et que vous voulez utiliser Swift Dynamic Framework, vous devez l'importer de cette façon (dans {} vous devez mettre des noms appropriés dépend de votre projet):

 #import <{MyFramework}/{MyFrameworkMainClass}-Swift.h> #import "{YourProjectTargetName}-Swift.h" 

Vous devez append @objc à la déclaration de la class VeediUtils ou la faire hériter de NSObject . Sinon, il ne sera pas visible pour Objective-C.

Dans votre cas, RecognizedClass est reconnu car il s'agit d'une sous-class de UIViewController , qui est une sous-class de NSObject .