如果我将 swift 常数声明为全局常数 like:
let a = "123"
but the a
无法在以下位置找到目标c.
怎么解决这个问题呢?
SWIFT代码:
public class MyClass: NSObject {
public static let myConst = "aConst"
}
然后在 Objective-C 中:
[MyClass myConst]
这不是也行得通吗?就像这对我有用一样。
还有这就是somewhat首先创建一个对象更短(alloc
, init
)。为every常数是......不太漂亮:/
Swift 4 更新
由于 Swift 4 的 Objective-C 推理发生了变化,您需要添加@objc
也对声明的常量进行注释。之前的声明就变成:
@objcMembers
public class MyClass: NSObject {
public static let myConst = "aConst"
}
调用 Objective-C 的代码保持不变。
Using @objcMembers
使所有常量可用(就像你写的@objc
在每个常量之前),但有时编译器无法生成相应的 ObjC 代码。
在这些情况下,我建议添加@objc
常量之前的装饰器也是如此。
I.e.: @objc public static let myConst = "aConst"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)