Objective-c中的Swift Public方法的等价物?

时间:2017-04-26 19:13:39

标签: 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文件中公开这个宏?

1 个答案:

答案 0 :(得分:0)

在objective-c中,默认情况下.h(头文件)中的任何内容都是公共的。相反,如果你想要一个私人方法,你可以完全放弃原型。