Comment puis-je accéder à l'instance partagée de "SharedManager" déclarée dans mon fichier Swift à partir de ma classe Objective-C?Comment allouer un objet statique défini dans une classe Swift à l'intérieur d'une classe d'objectif-C?
Étapes:
J'ai déclaré un objet dans un fichier Swift comme suit:
Swift classe Déclaration:
De ce [instructions] [1] Je l'ai fait:
// Swift class
class SharedManager{
static let sharedInstance = SharedManager()
}
De la classe Objective-C:
En AppDelegate.m:
#import "ProjectName-Swift.h"
@class SharedManager;
@interface AppDelegate()
@end
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// How do I access to the shared instance of "SharedManager" ?
}
[1]: http://stackoverflow.com/questions/24024549/using-a-dispatch-once-singleton-model-in-swift
Le fichier d'en-tête de pontage sert à exposer l'objectif C à Swift, le contraire de ce dont l'OP a besoin. OP doit utiliser le fichier d'en-tête généré automatiquement créé par Xcode, qu'ils ont déjà importé ('#import ProjectName-Swift.h'). – Alexander
J'ai l'en-tête de pont pour exporter les classes Swift comme Alexander a dit – mm24
classe MyClass { private static laisser _sharedInstance = MyClass() classe func sharedInstance() -> MyClass { retour _sharedInstance } } Récupérer le singleton via MyClass.sharedInstance() – Bassam