首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >核心数据重构

核心数据重构
EN

Stack Overflow用户
提问于 2011-01-25 15:11:16
回答 2查看 358关注 0票数 0

您好,通常所有的方法,比如

'- (NSFetchedResultsController *)fetchedResultsController‘

放在视图控制器的代码中。我发现编写数据获取代码以及生命周期方法或表委托方法有点麻烦。所以我想说的是,我是否应该将CoreData方法重构为其他帮助器类,比如DataLoader,然后在视图控制器中调用它们?这是一件错误的事情,还是我将失去核心数据方法的一些编码优势。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-01-25 17:39:52

我想说的是,将fetchedResultsController移到帮助器类中是一个好主意。我经常遇到的一个问题是如何正确地拼写属性。

例如,我做了一个谓词,并希望过滤一个名为@"isSelected"的属性。编译器和链接器都不会检查字符串isSelected。我将不得不仔细检查使用该字符串的每一行。

搜索和替换无法处理拼写错误,因为我不知道引入了哪些bug。

当我得到错误的谓词时,将不会获取任何结果。问题是我不知道是否没有匹配的行,或者我是否过滤错了。我需要在运行时进行检查,这很耗时。

对于谓词,保存的模板是存在的,所以谓词不是一个完美的例子。但想想value forKey:,我们就站在了起点上。

现在,如果所有的fetchedResultsController都在一个文件中,那么检查将变得更容易。至少,它减少了在遥远且很少使用的类中遗漏小拼写错误的可能性。

...or我将失去核心数据方法的一些编码优势。

我倾向于说不,但其他人请随时加入。

票数 1
EN

Stack Overflow用户

发布于 2011-01-25 15:55:39

@Mann是的,当然你可以在不丢失任何编码的情况下做到这一点你不想在你的视图中编写数据获取代码控制器不要编写there.....Make任何其他类让我们说它是DataLoader,然后在这个class......and的方法中编写获取代码通过使DataLoader类的对象....u能够从数据库中获取数据来调用这个方法

希望你能得到它!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4790859

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档