是否可以使用情节提要从 swift 类中调用 Objective c 视图控制器类?

Posted

技术标签:

【中文标题】是否可以使用情节提要从 swift 类中调用 Objective c 视图控制器类?【英文标题】:Is it possible to call Objective c view controller class from swift class using storyboard? 【发布时间】:2017-09-08 04:15:14 【问题描述】:

是否可以从 swift 类文件中推送目标 c 视图控制器?

我尝试了如下所述,

import UIKit
class DashboardViewController: UIViewController 

   @IBOutlet weak var submitButton: UIButton!
 class func instantiate() -> DashboardViewController 
    let storyboard = UIStoryboard(name: "DashboardView", bundle: Bundle.main)
    return storyboard.instantiateViewController(withIdentifier: "dashboardVC") as! DashboardViewController

override func viewDidLoad() 
    super.viewDidLoad()


@IBAction func userClickedSubmitButton(_ sender: Any) 
  //let dashboardDetailsVC = DashboardDetailsViewController.instantiate()  
  //self.navigationController?.pushViewController(dashboardDetailsVC!, animated: true)

    let storyBoard: UIStoryboard = UIStoryboard(name: "DashboardDetails", bundle: nil)
    let newViewController = storyBoard.instantiateViewController(withIdentifier: "dashDetails") as! DashboardDetailsViewController
    self.present(newViewController, animated: true, completion: nil)

收到错误为“使用未声明的类型'DashboardDetailsViewController'”。我什至尝试导入类文件。有什么办法可以解决这个问题吗? TIA。

【问题讨论】:

你试过使用桥接头吗? 我完全忘记在 bring header 类中添加我的 header。谢谢。 【参考方案1】:

创建一个新文件"ModuleName-Bridging-Header.h"并在这个文件中 import "YourObjectiveCViewController.h" 然后尝试打开它。

希望对你有帮助。

【讨论】:

@user579911 如果我的解决方案解决了您的问题,您可以投票并将其标记为答案。谢谢

以上是关于是否可以使用情节提要从 swift 类中调用 Objective c 视图控制器类?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Swift 中的自动生成键从情节提要中设置的 UITextView 中检索文本?

如何使用 swift 在情节提要中从一个视图控制器移动到另一个视图控制器 [重复]

获取使用情节提要创建的视图控制器的属性

如何在 swift UI 中单击按钮时从 swift UI 导航到情节提要?

如何摆脱或更改情节提要以编程方式创建 segue

XCTest Xcode 7 beta 3 swift 2 从情节提要问题启动视图控制器