在Typhoon Swift中注入参数

时间:2015-05-04 12:12:13

标签: ios swift typhoon

我正在使用以下代码在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类型,所以这段代码给出了编译器错误。 如何在不导致编译器错误或崩溃的情况下实现此目的?

2 个答案:

答案 0 :(得分:2)

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

var num: NSNumber = mode.rawValue

答案 1 :(得分:0)

我现在无法尝试,但根据this,您应该只需将import Foundation添加到文件的顶部,它就会隐式转换为{{1}来自NSNumber