如何将此 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?的主要内容,如果未能解决你的问题,请参考以下文章
Swift 2.1 中的 NSClassFromString
由 NSClassFromString 产生的类与头文件中定义的类不相关
OC中NSClassFromString()与NSStringFromClass()的用法及应用场景