如何将此 NSClassFromString 代码转换为 Swift?

Posted

技术标签:

【中文标题】如何将此 NSClassFromString 代码转换为 Swift?【英文标题】:How to convert this code of NSClassFromString to Swift? 【发布时间】:2015-04-20 07:02:42 【问题描述】:
UIViewController *viewController = [[NSClassFromString(viewControllerName) alloc] init];

如何将NSClassFromString的这段代码转换为swift

【问题讨论】:

【参考方案1】:

你可以这样写:

if let viewController = NSClassFromString(viewControllerName) as? UIViewController.Type 
   // Do something 

【讨论】:

NSClassFromString 不适用于 Swift 类。在这种情况下,您必须使用完整的限定名称,例如 AppName.ClassName。看看这个链接:***.com/questions/24570345/… @HoaParis 是的,当然,但是它适用于从 NSObject 继承的类(这就是 UIViewController 会起作用的原因)。 该代码返回类类型,而不是实例。您仍然需要在类类型上调用 init()。

以上是关于如何将此 NSClassFromString 代码转换为 Swift?的主要内容,如果未能解决你的问题,请参考以下文章