使用Cocoa-Touch,但這是一個普遍的問題。MVC - 視圖可以繼續引用其視圖控制器並處理數據嗎?
視圖可以保留對其視圖控制器的引用並處理數據嗎?我最近遇到了一個通過應用程序執行此操作的代碼庫 - 例如,有一個表視圖控制器,它的單元對視圖控制器的引用很弱(因此沒有保留週期)。細胞通過
[self.parentVC presentViewController.....];
提出新的視圖控制器,並以類似的方式解僱它。此外,他們也處理數據/網絡操作的變化。
直到我看到這個,我習慣於爲每個單元格創建協議並通過它們與父視圖控制器交談。使用直接參考視圖控制器的方法擺脫所有的協議。
對我來說這似乎很糟糕,但不知道它是否普遍。
感謝您的詳細回覆。信不信由你,我談論的代碼庫是由一家領先的應用開發公司編寫的,我很驚訝我不得不問。 – 0xSina 2013-02-22 15:30:09
「如果您認爲這是一個好主意,那麼爲什麼Apple沒有在UIView類中添加該參考」 非常好的關於框架的思考方式。當然,並不是所有事情的答案,但是肯定我關於「不打架」的很好的指導方針, – Cezar 2013-02-23 14:42:38