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

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

【问题讨论】:

    标签: objective-c iphone swift ios7


    【解决方案1】:

    你可以这样写:

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

    【讨论】:

    • NSClassFromString 不适用于 Swift 类。在这种情况下,您必须使用完整的限定名称,例如 AppName.ClassName。看看这个链接:stackoverflow.com/questions/24570345/…
    • @HoaParis 是的,当然,但是它适用于从 NSObject 继承的类(这就是 UIViewController 会起作用的原因)。
    • 该代码返回类类型,而不是实例。您仍然需要在类类型上调用 init()。
    猜你喜欢
    • 2018-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多