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:
用一个更好的例子来解释.
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引用属性并传递它所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)