該代碼可以使用颱風依賴注入庫(的OBJ-C)在SWIFT 2.3但在夫特3不會:颱風依賴注入和夫特3:的appDelegate不是AnyObject
的AppDelegate:
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
var rootViewController: RootViewController?
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
// Override point for customization after application launch.
self.window = UIWindow(frame: UIScreen.main.bounds)
self.window?.rootViewController = self.rootViewController
self.window?.makeKeyAndVisible()
return true
}
...
}
應用大會:
public class ApplicationAssembly: TyphoonAssembly {
public dynamic func config() -> AnyObject {
return TyphoonDefinition.withConfigName("Configuration.plist")
}
public dynamic func appDelegate() -> AnyObject {
return TyphoonDefinition.withClass(AppDelegate.self) {
(definition) in
definition!.injectProperty(#selector(ApplicationAssembly.rootViewController), with: self.rootViewController())
}
}
...
}
但是下面的錯誤是顯示終端ayed在ApplicationAssembly爲有望重返「AnyObject」任何斯威夫特3檔: 「否‘withClass’候選人產生預期的語境結果類型‘AnyObject’
也許任何人都見識到了對象 - 的不兼容性颱風代碼基地與Swift 3?
你能不能用明確的轉換嘗試 –
明確的轉換似乎不兼容: '公共動態FUNC mainUIController() - > AnyObject { 回報TyphoonDefinition.withClass(MainUIViewController.self)爲! AnyObject { (定義)在 ...' – XyrisKenn