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

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

概述我有一个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")
总结

以上是内存溢出为你收集整理的在swift中使用objective-c方法似乎跨越了swift语言的关键字全部内容,希望文章能够帮你解决在swift中使用objective-c方法似乎跨越了swift语言的关键字所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1048370.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存