iphone - 将 View Controller 类拆分为 VC 和自定义类的规则是什么?

标签 iphone objective-c ios cocoa-touch

AFAIK View Controller 类应该只用于管理它们的 View 、IBActions、IBOutlets 和其他与 View 屏幕相关的东西。这意味着 View Controller 类应该尽可能轻量级,只关心管理它的 Root View 和内部 View 。然而,有时我们很想将代码留在 View Controller 类中而不是移动到其他自定义类。

目前,我总是为模型(数据库表或自定义对象)、解析器包装器、繁重的计算以及其他或多或少较大且可能被视为单独类的逻辑创建自定义类。然而,很多时候,我会在 View Controller 类中留下一些相对较小的计算、简单检查、简单下载和其他小代码内容,因为我很懒惰(谁不是呢?)而且我不喜欢有一个一堆小类只是因为,理论上,一些代码语句不属于某个 View Controller 类。我知道这些小类可能会在以后的应用程序的其他版本中演变成更大的真实类,但也可能不会。

恕我直言,如果您非常关心 100% 的纯净度和清洁度,您将花费更多时间(好吧,至少在应用程序的初始版本期间),但您永远不知道产品是否会进化或是否会被抛弃。开发人员总是面临一些权衡取舍。

很高兴听到您在设计类(class)时使用了哪些内部规则。

最佳答案

关于您应该何时何地做某事的两个真正问题是您是否坚持该模式。 如何 如何不那么明确,尤其是当实用主义和实用主义开始出现在你面前时。

我们倾向于为简单的东西使用静态类,例如一个 DateUtility 类,用于以不同格式解析和格式化日期。

和更大的东西的聚合,即下载器。

如果你想重用,解耦是基本规则,所以仅仅因为一些东西很大并不一定意味着不同的类。

关于iphone - 将 View Controller 类拆分为 VC 和自定义类的规则是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8464196/

相关文章:

iphone - 如何在不关闭键盘的情况下隐藏 inputAccessoryView

ios - NSDate 延迟日期更改

ios - doesNotMatchKey :inQuery: return records that match key in Parse SDK for iOS

ios - scrollViewDidScroll 方法不引用 TableView 中的所有 ScrollView

objective-c - 如何在 Objective C 中执行 chmod()

ios - 如何为导航栏中的后退按钮设置色调颜色

iphone - 如何使用翻转动画显示 MapView 选项?

iphone - 如何通过 iPhone 中的 fbgraph api 显示 facebook 集成中的事件指示器

iphone - nsfetchedresultscontroller 中部分名称键路径的无关系值

ios - 无法在 TableViewController 中显示来自 Firebase 数据库的项目