繁体   English   中英

Swift 中的属性观察器

[英]Property Observer in 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 是您添加到实例变量的代码块,当任何人更改该变量的值时都会调用该代码块。 没有地方可以退回任何东西。

如果需要更改实例变量并返回视图的代码,则需要编写 function:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM