ios – 修改覆盖属性willSet getset的值

ios – 修改覆盖属性willSet getset的值,第1张

概述我有一个自定义UILabel,我覆盖它的文本属性.如果upperCase = true,我需要修改此属性的值,问题是我以递归方式调用setter. @IBDesignable class CustomLabel: UILabel {@IBInspectable var upperCase: Bool = falseoverride var text: String? { willSet 我有一个自定义UILabel,我覆盖它的文本属性.如果upperCase = true,我需要修改此属性的值,问题是我以递归方式调用setter.

@IBDesignable class CustomLabel: UILabel {@IBInspectable var upperCase: Bool = falseoverrIDe var text: String? {    willSet {        if upperCase == true {            text = newValue?.uppercaseString          }    }}}

我也尝试过:

var aux: String?overrIDe var text: String? {    get { return aux }    set {  aux = newValue }}

但文本标签未设置.有什么建议吗?

解决方法 用超级

overrIDe var text: String? {    get { return super.text }    set(v){  super.text = v }}
总结

以上是内存溢出为你收集整理的ios – 修改覆盖属性willSet get / set的值全部内容,希望文章能够帮你解决ios – 修改覆盖属性willSet get / set的值所遇到的程序开发问题。

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

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存