ios – swift属性的未知类型名称

我有一个用 Swift编写的CustomViewController类和在Objective C中编写的CustomNavigationController类.我试图将我的CustomNavigationController作为属性添加到我的CustomViewController中.我添加了#import“CustomNavigationController.h”到我的桥接头.

在我的CustomViewController中我有:

class CustomViewController: UIViewController {

    var navController: CustomNavigationController?
...
//init methods


...


 override func viewDidLoad() {
        super.viewDidLoad()

        //Set up Navigation Controller
        navController = self.storyboard.instantiateViewControllerWithIdentifier("CustomNavigationController") as CustomNavigationController!
}

没有错误,直到我尝试构建和运行…我得到“未知的类型名称”CustomNavigationController’;你的意思是’UINavigationController’?

有谁知道为什么它不认识类型?

在您的Objective-C代码中,您将导入自动生成的-Swift.h标题.在同一个代码中,在#import行之前,插入#import“CustomNavigationController.h”.这两个#import语句的顺序至关重要!

这将通过确保CustomNavigationController在自动生成的-Swift.h头部之前的命名空间中来解决问题,因此后者将了解前者和所有这些都将很好.

如果Objective-C类不需要知道CustomNavigationController,这是一个烦恼,但它解决了问题,并允许您继续使用混合项目.

相关文章
相关标签/搜索