微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Swift 中的属性观察器

如何解决Swift 中的属性观察器

知道如何从 didSet 中返回 UIView 吗?

我有一个返回 UIView 的方法。 我需要观察 Int 并在 Int 更改时返回 UIView。我有一个 didSet 观察者集,但是,在尝试返回 UIView 时出现错误

感谢任何帮助!谢谢。

func newUIView() -> UIView {

   var newUIView = UIView()

   return newUIView
}

var observingValue: Int = someOtherValue {
       didSet {
             //Xcode complains whether I use return or not
            return func newUIView()          
        }
}

解决方法

您在评论中说:

我想我的困难在于如何观察该值并相应地对其做出反应(更新 UI)

观察者是做到这一点的绝佳方式。但是你不会返回某些东西;你调用的东西。这是 Swift iOS Cocoa 编程中非常非常常见的模式:

var myProperty : MyType {
    didSet {
        self.updateUI()
    }
}
func updateUI() {
    // update the UI based on the properties
}

didSet 代码运行时,myProperty 已经改变,因此方法 updateUI 可以获取它并使用它来更新接口。

,

你问的没有任何意义。

didSet 是您添加到实例变量中的一段代码,当有人更改该变量的值时会调用该代码块。没有地方可以归还任何东西。

如果您需要更改实例变量并返回视图的代码,则需要编写一个函数:

func updateObservingValue(newValue: Int) -> UIView {
   observingValue = newValue
   return newUIView()
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。