【发布时间】:2016-07-01 13:09:13
【问题描述】:
我目前正在开发一个用于 Objective-c 应用程序的 swift 动态框架。
我已经创建了这个方法(签名):
public init(buttons: ActionButton...) {
///code
}
但是,使用该框架的 Objective-c 应用程序永远无法访问(可见)此方法。添加时
@objc
在方法声明前面xcode给出错误
“方法不能被标记为@objc,因为它有可变参数”
所以如果我理解正确,swift variadic 参数不能暴露给目标 c。因此,我要问的问题是: 有没有其他方法(CVArgList?)来获得相同的功能?
我知道我可以使用数组,但我不想使用这个功能。
谢谢。
【问题讨论】:
-
您是否尝试过在 Objective-c 中创建一个可变参数函数并查看编译器如何将其桥接到 swift?
-
@Feldur ObjC 带有可变参数的函数不会被编译器桥接到 Swift。
-
@matt 我剩下的问题是我想知道是否有办法公开我不知道的可变参数。如果没有办法,那么这就是我的问题的答案,我将使用数组。但是,如果有办法,那么我很想听听。不知道为什么我被否决了,如果问题不清楚,那么它就没有被阅读。
标签: objective-c swift