我的项目是在Swift中开发的。我们要添加一个已在Objective-C中实现的功能。然后,当我尝试从Swift VC推送到该Objective-C VC时,收到以下警告,但推送失败。

我确认桥接头和其他构建设置已完美配置。


  我有2个ObjC VC文件。一个VC是完全用代码设计的,因此可以毫无疑问地推送到该VC。但是,在其他方面,我无法通过我的Swift VC推送/显示内容。


使用导航推送:

let story = UIStoryboard(name: "Main", bundle: nil) let vc = story.instantiateViewController(withIdentifier: "XXXViewController") as? XXXViewController // vc always returns nilif let vc = vc { navigationController?.pushViewController(vc, animated: true) // can't compile because of vc is nil }

警告:


  接口生成器文件中的未知类_TtC12ProjectName36XXXViewController。


使用Segue:

self.performSegue(withIdentifier: "HomeToXXXVc", sender: self)

错误:


  接口生成器文件中的未知类_TtC12ProjectName36XXXViewController。
  
  ***由于未捕获的异常'NSUnknownKeyException'而终止应用程序,原因:'[ setValue:forUndefinedKey:]:此类不符合键yyyLabel的键值编码标准。


// yyyLabel-Objective-C Vc的插座之一。

最佳答案

我看到您的问题基本上在界面生成器上。

如果错误是“ ***由于未捕获的异常'NSUnknownKeyException'而终止应用程序,原因:'[setValue:forUndefinedKey:]:此类不符合键yyyLabel的键值编码要求。”那么这就是您在xib / storyboard上删除的代码上的源“ yyyLabel”,但是您可以在您的课程中访问它。

在xib / storyboard中再次检查您的课程,检查插座没有任何警告。

10-04 21:38
查看更多