ios - 相当于 Objective-c 中的 Swift Public 方法?

标签 ios objective-c swift

我的 Swift 文件之一中有以下类型的代码:

public func RMDTestOne(_ value: @autoclosure (), details: String -> Bool) {
    // Call some Private Method.
}

我想将其从我的 Swift 文件移到我的 Objective-C 文件中。最初添加此方法是因为 RMDTestOne 是我的 Objective-C 文件中的宏 #define,并且无法被 Swift 使用。我现在正在尝试摆脱这种包装。

编辑:

更清楚地说,以下宏是我的 Objective-C 代码:

#define RMD_TEST_ONE(__value, __details ...) \
({
    // Call some Private Method
})

我尝试在 Swift 文件中访问此定义,但是,我无法编译引用它的任何代码。所有导入等都是正确的,事实证明该宏根本不存在于转换后的文件中。我终于能够在将上面的 RMDTestOne 方法添加到包装文件中时添加该文件。我觉得这个文件是一些不必要的东西,希望将其删除。有什么方法可以在我的 Objective-C 文件本身中公开这个宏吗?

最佳答案

在 Objective-C 中,.h(头文件)中的所有内容默认都是公共(public)的。相反,如果您想要一个私有(private)方法,您可以完全放弃原型(prototype)。

关于ios - 相当于 Objective-c 中的 Swift Public 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43642695/

相关文章:

ios - 在 CoreData 中创建实例

ios - swift:如何将本地目录中保存的图像显示到自定义单元格中

ios - 使用 UITapGestureRecognizer 时的 EXC_BAD_ACCESS

ios - CNContactPickerViewController [CNUI ERROR] 调用服务时出错 - 无法与辅助应用程序通信

ios - 使用自定义单元格在 3 个 UITabBar 之间传输数据

ios - Admob导致链接器命令失败,退出代码为1错误

ios - 表中的加号和减号

iphone - 如何在 UITextView 中启用平滑滚动?

iphone - NSString 到等式

ios - Swift 和 SwiftUI 从 TextField 字符串绑定(bind)到模型已发布的可选 Integer 属性