属性 Swift 中的观察者
Property Observer in Swift
知道如何从 didSet 中 return UIView 吗?
我有一个 return 是 UIView 的方法。
随着 Int 的变化,我需要观察一个 Int 和 return 一个 UIView。我有一个 didSet 观察器集,但是,在尝试 return 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()
}
}
你问的没有任何意义。
didSet 是您添加到实例变量的代码块,当任何人更改该变量的值时都会调用该实例变量。没有地方可以 return 任何东西。
如果您需要更改实例变量和 return 视图的代码,您需要编写一个函数:
func updateObservingValue(newValue: Int) -> UIView {
observingValue = newValue
return newUIView()
}
您在评论中说:
I guess my struggle is how to observe that value and react (update UI) to it accordingly
观察者是一种非常好的方式。但是你没有 return 东西;你叫什么东西。这是SwiftiOSCocoa编程中非常非常常见的模式:
var myProperty : MyType {
didSet {
self.updateUI()
}
}
func updateUI() {
// update the UI based on the properties
}
在didSet
代码运行的时候,myProperty
已经被改变了,所以方法updateUI
可以获取它并用它来更新界面。
知道如何从 didSet 中 return UIView 吗?
我有一个 return 是 UIView 的方法。 随着 Int 的变化,我需要观察一个 Int 和 return 一个 UIView。我有一个 didSet 观察器集,但是,在尝试 return 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()
}
}
你问的没有任何意义。
didSet 是您添加到实例变量的代码块,当任何人更改该变量的值时都会调用该实例变量。没有地方可以 return 任何东西。
如果您需要更改实例变量和 return 视图的代码,您需要编写一个函数:
func updateObservingValue(newValue: Int) -> UIView {
observingValue = newValue
return newUIView()
}
您在评论中说:
I guess my struggle is how to observe that value and react (update UI) to it accordingly
观察者是一种非常好的方式。但是你没有 return 东西;你叫什么东西。这是SwiftiOSCocoa编程中非常非常常见的模式:
var myProperty : MyType {
didSet {
self.updateUI()
}
}
func updateUI() {
// update the UI based on the properties
}
在didSet
代码运行的时候,myProperty
已经被改变了,所以方法updateUI
可以获取它并用它来更新界面。