Swift引用属性并传递它

Swift引用属性并传递它,第1张

概述如何将属性引用分配给变量并传递给它.类似于函数的东西,我们可以做这样的事情: class Foo { func executeTask() { print("executeTask called") } var name: String = "name1"}// get reference to the executeTask methodlet 如何将属性引用分配给变量并传递给它.类似于函数的东西,我们可以做这样的事情:

class Foo {    func executeTask() {        print("executeTask called")    }    var name: String = "name1"}// get reference to the executeTask methodlet x = Foo.executeTask// later we can call the executeTask method but using the x variablex(Foo())()

但我们怎样才能为物业做同样的事情.我原以为:

// get reference to the executeTask methodlet y = Foo.name// later we can call name property but using the y variabley(Foo())()

但这会给出错误:实例成员’name’不能用于’Foo’类型

编辑:
大家好,问题绝不是要访问实例变量的属性来获取其当前值.这是一个微不足道的问题.
再看一下executeTask示例. executeTask定义为func executeTask()示例中的x是对函数的引用.我想要一个非常类似的东西来获取属性,我可以稍后调用以获取属性的值,请不要告诉我使用Container类.

编辑2:
用一个更好的例子来解释.

解决方法 KeyPath可能不是您所要求的,但可能足够接近:

let y = \Foo.namelet z = Foo()z[keyPath: y]

有关更多信息,请参阅:https://developer.apple.com/documentation/swift/keypath
https://developer.apple.com/videos/play/wwdc2017/212/

总结

以上是内存溢出为你收集整理的Swift引用属性并传递它全部内容,希望文章能够帮你解决Swift引用属性并传递它所遇到的程序开发问题。

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

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存