1

保护创造它使用核心数据导航基于应用程序时由Xcode中生成的代码声明fetchedResultsController_私人更改fetchedResultsController_从私人

@private 
    NSFetchedResultsController *fetchedResultsController_; 
    NSManagedObjectContext *managedObjectContext_; 

有人请解释是否有一个理由,其声明为私有?

我打算建立一个CommontableViewController和继承它的标签栏应用程序中使用与五个选项卡。如果我删除私​​人声明并使其受到保护,是否有任何问题?我的编译器不会给出任何提示,但我担心数据的完整性。

回答

2

相信模板还增加了@property的声明这两个变量;那是对的吗?如果是这样,你的子类应该使用self.fetchedResultsControllerself.managedObjectContext而不是直接访问的变量。这样你可以保持封装并保持变量私有。

让他们成为私人的一点是,只有超应负责建立这些对象的存储;当他们想要使用它们时,子类可以使用getter方法。当然,没有什么会燃起火焰,如果你决定做他们的保护,但我不认为有一个真正的需要。