2016-02-22 24 views
1

我已將我的NSFetchedResultsController解壓縮爲單獨的對象。我想監視視圖控制器何時出現和消失,以便我可以暫停和恢復FRC委託方法以使用新內容更新tableview。這可能沒有任何責任從視圖控制器本身?即我知道我可以使用委託或通知,但我正在尋找一種解決方案,我不必在整個視圖控制器上撒上代碼。觀察UIViewController viewWillAppear /從外部對象中消失?

+0

沒有官方機制。您可能能夠找到一些要觀察的財產,但它會被完全記錄下來,並隨時可能發生變化。 – Avi

回答

0

看來沒有官方的方式來做到這一點,所以這就是我所做的。

- (void)viewWillAppear:(BOOL)animated 
{ 
    [super viewWillAppear:animated]; 
    [self.fetchedController willAppear]; 
} 

然後在那裏處理必要的邏輯...很基本。

也許有一次我會發布關於我的fetchedController。它非常整潔:它擁有一個UISearchController(和代表),2個數據源(一個用於常規視圖,另一個用於搜索)。有一個視圖控制器實現的協議(tableView,實體名稱,上下文,排序描述符,configureCell等),所以我不必直接創建搜索控制器,NSFetchedResultsController或任何代理。它比擁有神UIViewController超類更清潔。