为什么tableView不是单身人士?

时间:2018-03-08 02:40:32

标签: ios uitableview singleton

我正在关注Design Patterns from Ray Wenderlich's website的iOS教程,目前我正在阅读有关单身人士的内容。本教程将单例描述为您只需要一个实例的对象,以便在应用程序的生命周期中只能引用一个实例。我已经完成的其他教程通常会创建一个类的单例,例如用于待办事项列表应用程序的ItemManager,因此这个概念的想法确实有意义。但是我很想知道为什么UITableViews在大多数书籍/教程中都不是作为单身人士创建的?

1 个答案:

答案 0 :(得分:2)

Singleton模式旨在与您在应用程序的整个生命周期内不需要多个实例的类(因此名称)一起使用。

视图不属于这种模式。视图类的设计或意图不包含在应用程序的视图控制器之间共享的单个实例,或者在应用程序的生命周期内实例化。

视图意味着在需要时创建,并在不再需要时消失。单例视图实例没有任何好处。

UITableViewController是单身人士毫无意义的主要例子。您永远不会只创建一个在许多不同视图控制器中使用的表视图实例。您只需在需要时创建所需的任何实例。

如果您有更专业的视图(例如评论中提到的"提交"按钮),您仍然不会使用单例。您将创建一个自定义UIButton类,只要您需要这样一个按钮,就可以创建该类的新实例。

保存一个类的Singleton模式,你真正永远不会需要在运行的整个生命周期内需要生存的单个实例。

请注意,单身人士往往过度使用,实际上他们有很多潜在的问题。在Singleton模式上进行一些搜索(不是特定于iOS)将提供关于该主题的大量阅读。

相关问题