有沒有什麼方法可以檢測NSView何時解除分配?檢測NSView何時解除分配
原因是,我有一些簡單的委託(例如NSTextField委託處理 - 控制:textView:doCommandBySelector:允許輸入返回/製表鍵)。我想把這個委託對象放在筆尖上,連接NSTextField的委託連接並使其工作。
它可以工作,但即使在它所鏈接的NSTextField被釋放之後,委託也不會被釋放,所以委託對象會泄漏。
我想委託對象能夠檢測到NSTextField何時被釋放,但我想不出任何方式來做到這一點,這讓我不得不存儲一個單獨的鏈接到委託對象從一些其他控制器中手動釋放它在某個非常不理想的地方。有任何想法嗎?
問題是我不想向每個控制器添加代碼以瞭解和刪除此NSTextField特定的委託,否則它將與之沒有任何交互。我的解決方案是使用帶有5(ick)IBOutlet ivars releaseOnDealloc1..5的超類控制器。在超類中,dealloc調用每個ivars上的發佈。然後在界面構建器中,對於每個視圖,我只是將各個對象連接到各個releaseOnDealloc插座,以便在適當的時候發佈它們。有點難看,但有效,只需最少的代碼/努力。 – 2009-08-04 03:02:55