我现在开始使用 swift 编程大约两周了,我仍然有一些 Objective C 类我想在我的应用中使用。一个例子是从Swift调用这个方法:
+ (void)transitionFromThisVCClass:(Class<SomeProtocol>)aFromVCClass
ToThisClassVCClass:(Class<SomeProtocol>)aToVCClass
WithNavigationController:(UINavigationController *)aNav
WithDuration:(NSTimeInterval)aDuration
我的问题是我无法像在Objective C [SomeClass类]中那样找到传递类类型的方法。任何有关这方面的帮助将非常感激。感谢
更新
如果我试图像这样使用MyClass.self:
ASFSharedViewTransition.addTransitionWithFromViewControllerClass(
RecommendationListViewController.self,
toViewControllerClass: RecommendationViewController.self,
withNavigationController: self.window?.rootViewController,
withDuration: 0.3)
ASFSharedViewTransition是一个客观的c类,我试图从swift调用
我收到此错误:
Cannot convert the expression's type '(RecommendationListViewController.Type,
toViewControllerClass: RecommendationViewController.Type,
withNavigationController: $T5??,
withDuration: FloatLiteralConvertible)'
to type 'FloatLiteralConvertible'
答案 0 :(得分:1)
您可以使用foo.self
,其中foo
是类名。例如,MyClass.self