Sto miscelando e abbinando correttamente Obj-C e Swift in un progetto Xcode 7. Tuttavia, non riesco a capire come, in una classe Objective C, ereditare da una classe Swift (e sì, so dichiarare che la classe Swift come @objc
per la visibilità). In questo caso la superclasse Swift desiderata MySwiftViewController
è una sottoclasse di UIViewController
. Per ora, in Obj-C, sto ereditando direttamente da UIViewController
e non ottenendo l'accesso alle funzionalità che ho aggiunto in MySwiftViewController
.Eredita da una classe Swift nell'obiettivo C
Ecco quello che ho capito:
- per dichiarare una classe Obj-C come ereditare da qualcosa, che deve essere nel file h dopo il ':':
#import <UIKit/UIKit.h>
@interface RootViewController : UIViewController <UITableViewDataSource, UITableViewDelegate>
@end
- per rendere le classi Swift visibile, cioè #import
ndr:
#import "MyProject-Swift.h"
Tuttavia, non è possibile importare la Swift auto-generata intestazione colmare in Obj-C .h file. Non è inoltre possibile inoltrare una superclasse opaca con @class
. Quindi, è possibile e come?
Ecco il link alla documentazione - https://developer.apple.com/library/content/documentation/Swift/Conceptual/BuildingCocoaApps/Migration.html – david72