我有一个objective-c方法:
-(DeviceVar *)var:(NSString*)valid
在Objective-C中,我简单地将其用作:
DeviceVar* rtc = [device var:@"rtc"];
但是我很快就使用这种方法遇到了问题:
let rtc = device.var("etc")
因为var是我猜的关键字,所以我的问题是如何使其工作。
如果需要将保留字用作方法名称,则可以始终将其保留在反引号中:
let rtc = device.`var`("etc")
如果您具有对Objective-C头文件的写访问权,那么另一种选择是为Swift定义一个不同的方法名称(在“将Swift与Cocoa和Objective- C一起使用”参考中,比较同一项目中的Swift和Objective-C):
-(DeviceVar *)var:(NSString*)valid NS_SWIFT_NAME(deviceVar(_:));
然后可以从Swift调用为
let rtc = device.deviceVar("etc")