我应该在swift的getter方法中返回什么

我应该在swift的getter方法中返回什么,第1张

概述var userState: UserState { get { return userState } set { print("\(self.userState)") }} 返回userState会导致无限循环.我对getter方法不感兴趣,只想在getter中返回属性的值.我宁愿自定义setter方法. 如果您想覆盖一个sett
var userState: UserState {    get {        return userState    }    set {        print("\(self.userState)")    }}

返回userState会导致无限循环.我对getter方法不感兴趣,只想在getter中返回属性的值.我宁愿自定义setter方法.

解决方法 如果您想覆盖一个setter,但保持您的属性可读,那么您需要创建一个变量来“回”该属性:

private var storedUserState: UserStatevar userState: UserState {    get {        return storedUserState    }    set {        print("Before: \(self.storedUserState)")        storedUserState = newValue        print("After: \(self.storedUserState)")    }}

如果您想自定义setter方法,但希望该属性保持存储,请使用属性观察器而不是覆盖访问器:

var userState: UserState = nil {    willSet(newState) {        print("About to set userState: \(newState)")    }    dIDSet {        print("Finished: new=\(userState),old=\(oldValue)")    }}
总结

以上是内存溢出为你收集整理的我应该在swift的getter方法中返回什么全部内容,希望文章能够帮你解决我应该在swift的getter方法中返回什么所遇到的程序开发问题。

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

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

原文地址: https://outofmemory.cn/web/1010220.html

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

发表评论

登录后才能评论

评论列表(0条)

保存