1

保護創造它使用核心數據導航基於應用程序時由Xcode中生成的代碼聲明fetchedResultsController_私人更改fetchedResultsController_從私人

@private 
    NSFetchedResultsController *fetchedResultsController_; 
    NSManagedObjectContext *managedObjectContext_; 

有人請解釋是否有一個理由,其聲明爲私有?

我打算建立一個CommontableViewController和繼承它的標籤欄應用程序中使用與五個選項卡。如果我刪除私​​人聲明並使其受到保護,是否有任何問題?我的編譯器不會給出任何提示,但我擔心數據的完整性。

回答

2

相信模板還增加了@property的聲明這兩個變量;那是對的嗎?如果是這樣,你的子類應該使用self.fetchedResultsControllerself.managedObjectContext而不是直接訪問的變量。這樣你可以保持封裝並保持變量私有。

讓他們成爲私人的一點是,只有超應負責建立這些對象的存儲;當他們想要使用它們時,子類可以使用getter方法。當然,沒有什麼會燃起火焰,如果你決定做他們的保護,但我不認爲有一個真正的需要。