gpt4 book ai didi

ios - 为什么 tableView 不是单例?

转载 作者:行者123 更新时间:2023-11-28 21:00:40 25 4
gpt4 key购买 nike

我正在关注 Design Patterns from Ray Wenderlich's website 上的 iOS 教程我目前正在阅读有关单例的领域。本教程将单例描述为您只喜欢其一个实例的对象,以便在应用程序的生命周期中只能引用一个实例。我学习过的其他教程通常为类创建单例,例如为待办事项列表应用程序创建 ItemManager,因此这个概念的想法确实有意义。但是我很好奇为什么在大多数书籍/教程中没有将 UITableViews 创建为单例?

最佳答案

Singleton 模式旨在与一个类一起使用,在您的应用程序的整个生命周期中,您永远不需要超过一个实例(因此得名)。

View 不属于这种模式。 View 类并非旨在或旨在拥有在应用的所有 View Controller 之间共享或在应用的生命周期内存在的单个实例。

View 旨在在需要时创建并在不再需要时消失。单例 View 实例没有任何好处。

UITableViewController 是单例毫无意义的主要示例。您永远不会只创建一个用于许多不同 View Controller 的 TableView 实例。您只需在需要时创建所需的任何实例。

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

为一个类保存单例模式,您真正需要的只是一个实例,它需要在应用程序运行的整个生命周期中存在。

请注意,单例往往会被过度使用,而且他们实际上有很多潜在的问题。对 Singleton 模式的一些搜索(不特定于 iOS)将提供大量关于该主题的好读物。

关于ios - 为什么 tableView 不是单例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49164517/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com