将 fetchedResultsController 更改为 protected from private

Posted

技术标签:

【中文标题】将 fetchedResultsController 更改为 protected from private【英文标题】:Changing fetchedResultsController_ to protected from private 【发布时间】:2011-08-23 08:15:10 【问题描述】:

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

@private
    NSFetchedResultsController *fetchedResultsController_;
    NSManagedObjectContext *managedObjectContext_;

有人请解释是否有理由将其声明为私有?

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

【问题讨论】:

【参考方案1】:

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

让它们成为私有的关键是只有超类应该负责为这些对象设置存储;子类可以在想要使用 getter 方法时使用它们。当然,如果你决定让它们受到保护,任何事情都不会起火,但我认为没有必要这样做。

【讨论】:

以上是关于将 fetchedResultsController 更改为 protected from private的主要内容,如果未能解决你的问题,请参考以下文章

如何将thinkcmf导入eclipse

如何将Ios文件上传到

Javascript 将正则表达式 \\n 替换为 \n,将 \\t 替换为 \t,将 \\r 替换为 \r 等等

如何将视频文件转换格式

sh 一个将生成CA的脚本,将CA导入到钥匙串中,然后它将创建一个证书并与CA签名,然后将其导入到

python怎么将0写入文件?