在 Typhoon 中注入参数 Swift

Injecting parameter in Typhoon Swift

我正在使用以下代码在 Swift 中的 Typhoon 中注入一个枚举参数:

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类型的参数,而我要注入的参数是Int类型的,所以这段代码编译报错。 我如何在不导致任何编译器错误或崩溃的情况下实现这一目标?

我现在无法尝试,但根据 this 你应该可以将 import Foundation 添加到文件的顶部,它会隐式转换为 NSNumber 来自 Int

如 Typhoon 用户指南 here 中所述,要注入枚举,必须将其装箱为 NSNumber。我实际上不确定如何在 Swift 中明确地装箱,但你可以用类似的东西来做到这一点:

var num: NSNumber = mode.rawValue