gpt4 book ai didi

ios - 有什么方法可以在 Objective C 文件中使用普通的 Swift 类?

转载 作者:行者123 更新时间:2023-11-28 12:11:36 25 4
gpt4 key购买 nike

这个问题不是关于桥接 header 之类的。我已经得到了所有的工作。我的问题具体是关于我需要对 Swift 类执行哪些操作才能使它们显示在 Obj-C 代码中。

以这个简单的类为例:

class MyClass {
var value: String = ""
}

如果我的项目中有此类,它不会包含在自动生成的 MyProject-Swift.h 文件中。我的理解是,为了在 Objective-C 中使用 Swift 类,我的类需要派生自 Objective-C 知道的类。这是我开始怀疑实际需求的地方。

如果我的类派生自 UIViewController,那么没问题。但如果这只是一个模型对象,那么它就不会派生自任何东西。虽然完全可以轻松地使我的类从 NSObject 派生,并因此将其正确导入到 Obj-C 代码中,但从 NSObject 派生可能会导致其他问题。

所以如果我不想让我的类派生自 NSObject,我该怎么做才能让它对我的 Obj-C 文件可见?是否有我找不到的文档解释了如何执行此操作?

最佳答案

据我目前所知,只有继承自 NSObject 的 Swift 类才能声明为 @objc 并桥接到 Objective-C 项目中。

如果没有这种一致性/继承,您最终将失去 Objective-C 的一些关键功能,例如消息发送。

综上所述,Objective-C 类必须从父类继承,默认根类是 NSObject。您几乎肯定只想继承并使您的类(class)成为 PONSO。

关于ios - 有什么方法可以在 Objective C 文件中使用普通的 Swift 类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48328146/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com