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方法中返回什么所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)