Iphone 将fetchedResultsController_uu更改为受私有保护

Iphone 将fetchedResultsController_uu更改为受私有保护,iphone,objective-c,cocoa-touch,core-data,nsfetchedresultscontroller,Iphone,Objective C,Cocoa Touch,Core Data,Nsfetchedresultscontroller,当创建使用核心数据的基于导航的应用程序时,Xcode生成的代码将fetchedResultsController_uu声明为私有 @private NSFetchedResultsController *fetchedResultsController_; NSManagedObjectContext *managedObjectContext_; 有人请解释一下,是否有理由宣布它为私人的 我打算创建一个CommontableViewController并将其子类化,以便在具有

当创建使用核心数据的基于导航的应用程序时,Xcode生成的代码将fetchedResultsController_uu声明为私有

@private
    NSFetchedResultsController *fetchedResultsController_;
    NSManagedObjectContext *managedObjectContext_;
有人请解释一下,是否有理由宣布它为私人的


我打算创建一个CommontableViewController并将其子类化,以便在具有五个选项卡的选项卡栏应用程序中使用。如果我删除私有声明并使其受保护,是否存在任何问题。我的编译器没有给出任何警告,但我担心数据的完整性。

我相信模板还为这两个变量添加了
@property
声明;对吗?如果是这样,子类应该使用
self.fetchedResultsController
self.managedObjectContext
而不是直接访问变量。这样您就可以维护封装并保持变量的私有性

让它们私有的意义在于,只有超类应该负责为这些对象设置存储;当子类想要使用getter方法时,它们可以只使用getter方法。当然,如果你决定让它们受到保护,没有什么东西会着火,但我认为没有真正的必要