我使用以下代码在 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/