美文网首页
Swift 和 OC 混编遇到的一些问题

Swift 和 OC 混编遇到的一些问题

作者: 南国青天 | 来源:发表于2016-04-20 15:54 被阅读186次

    Swift和OC混编中, 有时候OC通过字符串生成Class. 然后通过[[Class alloc] init]生成OC对象.

    今天遇到一个诡异的问题, 就是OC死活都生成不了Class. 但是类名明明没有错.

    OC调用代码

    Class viewControllerClass = NSClassFromString("YGSuggestionViewController");
    //viewControllerClass 死活都是nil
    NSAssert(viewControllerClass, @"can't find Class");
          
    

    下面是Swift的类

    class YGSuggestionViewController: UIViewController,XLFormRowDescriptorViewController{
    ...
    }
    

    最后发现解决办法, OC在调用NSClassFromString的时候, 要通过@objc()把这个类声明为OC对象.

    @objc(YGSuggestionViewController)
    class YGSuggestionViewController: UIViewController,XLFormRowDescriptorViewController{
    ...
    }
    

    相关文章

      网友评论

          本文标题:Swift 和 OC 混编遇到的一些问题

          本文链接:https://www.haomeiwen.com/subject/aqnzlttx.html