appsquickly / Typhoon-Swift-Example

Swift example application for Typhoon
Apache License 2.0
352 stars 73 forks source link

TyphoonStoryboard inject #21

Open yalamandarao opened 5 years ago

yalamandarao commented 5 years ago

Unable to inject storyboard

I'm getting error " definition!.injectProperty("homeStoryboard", with: self.homeStoryboard())" Error : objc[49398]: Class _NSZombie_FBSXPCMessage is implemented in both ?? (0x600000490b40) and ?? (0x600000490c60). One of the two will be used. Which one is undefined.

@objc func appDelegate() -> AnyObject {
        return TyphoonDefinition.withClass(AppDelegate.self, configuration: {
            definition in
            definition!.injectProperty("homeStoryboard", with: self.homeStoryboard())
            definition!.injectProperty("loginStoryboard", with: self.loginStoryboard())
        }) as AnyObject
    }

    @objc func homeStoryboard() -> AnyObject {
        return TyphoonDefinition.withClass(TyphoonStoryboard.self, configuration: {
            definition in
            definition!.useInitializer(#selector(TyphoonStoryboard.init(name:factory:bundle:)), parameters: { initializer in
                initializer!.injectParameter(with: "Home")
                initializer!.injectParameter(with: self)
                initializer!.injectParameter(with: Bundle.main)
            })
        }) as AnyObject

    }

    @objc func loginStoryboard() -> AnyObject {
        return TyphoonDefinition.withClass(TyphoonStoryboard.self, configuration: {
            definition in
            definition!.useInitializer(#selector(TyphoonStoryboard.init(name:factory:bundle:)), parameters: { initializer in
                initializer!.injectParameter(with: "Login")
                initializer!.injectParameter(with: self)
                initializer!.injectParameter(with: Bundle.main)
            })
        }) as AnyObject

    }