1

我找到了一个ViewController使用 Objective C 的 SDK。我想快速使用它但无法调用。

你能建议我使用它的任何想法吗?

我想创建一个故事板并在 中设置自定义类ViewControllerObjectiveC,但仍然无法打开viewcontroller.

let vc = sb.instantiateViewController(withIdentifier: "ViewControllerObjectiveC") as! ViewControllerObjectiveC
self.dismiss(animated: false, completion: nil)
self.presentingViewController?.present(vc, animated: false, completion: nil)
4

2 回答 2

1

为了与 Swift 交互 Obj-C 代码,您需要有一个桥接头文件。桥接头的名称必须像<YourProject>-Bridging-Header.h. 虽然您可以手动创建它,但 Xcode 可以自己创建一个选项。对于第二个选项,创建一个扩展名为 .m 的新文件。Xcode 会要求您创建一个桥接头。批准它。

现在导入此文件中您需要从 Swift 访问的所有内容。在您的情况下,将以下内容放入您的桥接头中:

#import "ViewControllerObjectiveC.h"

假设您的 Obj-C 文件的名称为 ViewControllerObjectiveC.h。您共享的代码现在应该可以工作了。

于 2019-03-28T06:27:13.680 回答
0

桥接头是解决您问题的方法。

请参阅此 Apple 文档:

https://developer.apple.com/documentation/swift/imported_c_and_objective-c_apis/importing_objective-c_into_swift

第 1 步 将您的 Objective-C 文件拖放到项目中,然后您将在 Xcode 项目中看到此消息。

看到这个弹出

然后单击创建桥接头选项。它将在您的项目中创建一个头文件。

确认头文件

现在你只需要将你的 Objective C 文件导入到创建的头文件中。

而已。

于 2019-04-08T10:55:35.993 回答