我有一个Objective-c方法:
-(DeviceVar *)var:(NSString*)valid
在objective-c中我简单地使用它:
DeviceVar* rtc = [device var:@"rtc"];
但是在swift中我使用这种方法有问题:
let rtc = device.var("etc")
因为var是我猜的关键字,所以我的问题是如何让它工作.
如果需要,您可以随后在反引号中包含保留字
将它用作方法名称(例如,参见
Use reserved keyword a enum case):
将它用作方法名称(例如,参见
Use reserved keyword a enum case):
let rtc = device.`var`("etc")
如果您对Objective-C头文件具有写访问权限,那么另一个
选项是为Swift定义不同的方法名称
(比较中的Swift and Objective-C in the Same Project)
“将Swift与Cocoa和Objective-C一起使用”参考):
-(DeviceVar *)var:(NSString*)valid NS_SWIFT_NAME(deviceVar(_:));
然后可以从Swift调用
let rtc = device.deviceVar("etc")