簡體   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