ios - 在 Typhoon Swift 中注入(inject)参数

标签 ios swift typhoon

我使用以下代码在 Swift 中的 Typhoon 中注入(inject)枚举参数:

public dynamic func introPageViewController() -> AnyObject {
        return TyphoonDefinition.withClass(UIPageViewController.self)  {
        (definition) in
            definition.useInitializer("initWithTransitionStyle:navigationOrientation:options:"){

        (initializer) in
        initializer.injectParameterWith(UIPageViewControllerTransitionStyle.Scroll)
        }

    }

}

问题在于,injectParameterWith 方法仅接受 AnyObject 类型的参数,而我要注入(inject)的参数是 Int 类型,因此此代码会出现编译器错误。 如何在不导致任何编译器错误或崩溃的情况下实现这一目标?

最佳答案

如《Typhoon 用户指南》中所述 here ,要注入(inject)枚举,需要将其装箱为 NSNumber。我实际上不确定如何在 Swift 中显式装箱,但你可以用类似的方法来做到这一点:

var num: NSNumber = mode.rawValue

关于ios - 在 Typhoon Swift 中注入(inject)参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30029873/

相关文章:

ios - SCNAction.playAudio 在节点取消初始化时导致崩溃

ios - 是否有充分的理由反对让我的 TyphoonAssembly 成为单例?如果是这样,为什么?如果没有,是否有推荐的方法?

ios - IOS 8 如何在预定时间自动发送消息到手机号码

macos - 在 Swift 中使用 Grand Central Dispatch 并行化和加速 “for"循环?

ios - Swift:无法使用类型的参数列表调用 'append'

ios - 如何使用 swift 字符串的值作为要编辑的 UIObject 的名称?

ios - 使用台风,创建具有依赖性的类的子类的实例

ios - 子类化 Typhoon 程序集以覆盖不起作用的方法

ios - 按下按钮时以编程方式快速关闭键盘?

ios - 将 float 四舍五入为下一个整数 0.5