当前位置: 首页 > 知识库问答 >
问题:

如何在两个UIViewControllers中工作,一个在swift中,另一个在Objective-C中...?[副本]

郜谦
2023-03-14

我正在重写我的应用程序,它是在Objective-C到Swift。我想知道是否可以在新应用程序中使用以前应用程序中的一些旧的UIViewControllers而不必在Swift中重写。有可能吗?

共有1个答案

庾兴发
2023-03-14

是的,您可以使用桥接标头。

当您将Objective-C文件导入到swift项目(我们将该项目称为MyApp)中时,它应该询问您是否要创建桥接头MyApp-bridging-header.h。如果它不要求,您可以自己创建它,但是如果您这样做,请确保您将它包含在项目的构建设置中的Swift Compiler-Code Generator->Objective-C Bridging Header下。在该文件中,您可以编写Objective-C文件的导入,例如:

#import "MyUIViewController.h"

这将把它们导入到项目中,使它们与其他Swift文件兼容。那么在您的swift类中,您可以像引用任何其他swift类一样引用Objective-C视图控制器,例如:

let myUIViewController = MyUIViewController()
 类似资料:
  • 我已经从网上搜索了很多,但不幸的是,没有一个奏效。如何将工作表从一个工作簿复制到另一个工作簿,使用C#在Excel中剪切和粘贴单元格值,错误:range类的Pastespecial方法失败。 知道为什么会这样吗?

  • 我有两个include文件(fill_boxMain.php和fill_boxBottom.php)。这两个都包含在my index.php中,用于按顺序填充两个div的内容。 例如: 第一个(fill_boxMain.php)工作正常。无论我如何安排或更改代码,第二个都会失败,并且会出现相同的可重复错误。i、 e.mysqli_查询($dbc,$q)失败。 选择查询在phpMyAdmin中运行良

  • 我正在尝试实现音频可视化器到AVAudioPlayer从许多天,尝试了不同的库,但没有成功。现在我发现了一个库displayer,但问题是它在Objective-C中,现在我不知道如何在swift代码中使用它。这里是图书馆https://github.com/agilie/displayers-audio-visualizers的链接。请在这方面指导我,或者在SWIFT中建议我一个好的可视化器。

  • 问题内容: 我打算开发一个可在内显示一些动态数据的应用程序。所以我决定 在main中添加一个 。这是我的应用程序代码: 我的主要活动: 它是布局文件: 在这个rec​​yclerView内部还有另一个: 他们的适配器Main(RAdapter): 和第二个适配器: 我的问题是:正如您在CAdapter中看到的那样,仅显示构造函数的Log消息。 更新:如果有另一种方法可以在另一张动态卡中显示某些动态

  • 各位早上好,我正在创建一个产品销售系统,这个话题会有点长,因为我想好好解释一下。 正在用Vaadin+MySQL+springboot+Maven开发的系统 在主屏幕上,我们有一个网格,上面有“新建”、“更改”和“删除”按钮: 当点击new按钮时,将打开一个窗口,开始“销售”产品: 这里的问题是这样的,当我点击“+项”时会出现以下情况: 问题:创建了一个滚动条(在窗口的右边),保存、关闭和+项按钮