加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

在swift中使用objective-c方法似乎跨越了swift语言的关键字

发布时间:2020-12-14 05:44:54 所属栏目:百科 来源:网络整理
导读:我有一个Objective-c方法: -(DeviceVar *)var:(NSString*)valid 在objective-c中我简单地使用它: DeviceVar* rtc = [device var:@"rtc"]; 但是在swift中我使用这种方法有问题: let rtc = device.var("etc") 因为var是我猜的关键字,所以我的问题是如何让它
我有一个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):
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")

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读