0
我有一個視圖,它有一個下拉菜單作爲子視圖。現在,當視圖被釋放時,我正在收到一個錯誤。 「被釋放,而鍵值觀察家仍用它註冊」從子視圖刪除觀察者
在視圖類我設置的觀察者:
override func observeValueForKeyPath(keyPath: String?, ofObject object: AnyObject?, change: [String : AnyObject]?, context: UnsafeMutablePointer<Void>) {
self.setNeedsDisplay()
if keyPath == "frame" {
// Set up DropdownMenu
self.dropDownBackground.frame.size.height = self.dropDownMenu.frame.maxY
}
}
並將其添加到子視圖:
dropDownMenu.addObserver(self, forKeyPath: "frame", options: .New, context: nil)
所以要避免我想要做的錯誤:
deinit {
dropDownMenu.removeObserver(self)
}
但編譯器告訴我「不能invok e'removeObserver'與參數列表'DropDownMenu'「
我在做什麼錯?謝謝!
我明白了!非常感謝!我讀的是object.removeObserver(anotherObject)會刪除給定對象的所有觀察者連接。我猜這是錯誤的。再次感謝! – weka1