gpt4 book ai didi

iphone - iOS 应用程序分区/MVC

转载 作者:塔克拉玛干 更新时间:2023-11-02 10:19:39 26 4
gpt4 key购买 nike

我一直在玩 iOS 开发,现在我已经到了想要创建一个简单应用之外的东西的阶段。但是,我不确定我是否理解如何正确地对应用程序进行分区。

为了简单起见,想象一个(非常)简单的音频播放器应用程序。假设有两个 View Controller ,可通过实例化主 AppDelegate 类的 UITabBarController 访问。

这些 View Controller 中的每一个都有以下职责:

  1. PlayerViewController - 当用户按下按钮时播放“当前”音频样本的声音播放器。

  2. SelectorViewController - 一个样本选择器,它使用 UIPickerView 显示可用的音频样本,以便用户可以选择他们想要播放的样本。

到目前为止,还不错。然而,我不太明白的是我应该在哪里存储可用样本的数据,以便两个 View 都可以找到有关可用样本的信息,触发样本播放等。

由于两个 View Controller 都需要访问这个“模型级”信息,创建一个“音频管理器”单例类是否是一种明智的方法,或者是否有(我猜更有可能)更好的解决方法我忽略了这个问题。

如有任何指点,我们将不胜感激。

最佳答案

我已经在严肃的应用程序中多次使用这种模式(单例数据管理器)。它非常简单、易于理解、易于使用,尽管这种模式被 OOP 纯粹主义者所鄙视。

如果没有人告诉您使用单例是错误的,那就继续吧,一定要检查 Apple 的推荐实现文档(有很多方法可以重载)。

哦,顺便说一句,Apple 在 iOS SDK 中经常使用它,所以这是一种常见的做法(请参阅以“共享”开头的类方法)。

更新:

另一种可能性是重用已经存在的单例,例如 Application 委托(delegate)。它可能感觉更干净,或者不是,这更多是一个品味问题。它的优点是提供了一个清晰的“入口点”,您可以在其中分配/创建/初始化数据管理器。

关于iphone - iOS 应用程序分区/MVC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4089148/

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