【问题标题】:iOS communication ViewController -> ModeliOS 通信 ViewController -> Model
【发布时间】:2013-09-06 10:12:10
【问题描述】:

这确实是一个入门问题,但不知何故我无法找到解决此问题的好方法。

问题: 我希望我的 ViewController 告诉我的“模型”要播放什么声音以及何时更改和播放它们。

我有什么: 我创建的一个 AudioPlayer 类,它只是 NSObject 的一个子类。它设置我的 audioSession 并处理我的应用程序声音进程。现在我基本上只是希望我的 ViewControllers 能够向我的 AudioPlayer 类发送一个整数,并让该类执行一个函数,该函数将为播放器交换一个新的声音路径。播放器是属于 AudiPlayer 类的对象,不能从全局/共享函数中调用。

我尝试过的: 拥有全局变量并从 ViewControllers 设置它们并不能解决我调用类函数的问题。实际上,我通过一个重复计时器解决了这个问题,该计时器从类内部调用一个函数来定期检查全局布尔值是否已设置为 TRUE,然后执行声音交换,但我发现这非常混乱......这不可能最佳方式?

我一直在尝试单例(我的班级现在是).. 并不是说​​它在帮助我解决这个问题

我也一直在研究委托,但使用它们我总是弄乱我的音频播放器委托(我想!),音频播放器最终什么也没播放(但似乎在每个命令上运行良好)。调试播放器设置显示:audioplayer error: unknown class。

非常感谢对此问题的任何建议或好的答案。 谢谢

【问题讨论】:

    标签: iphone ios ipad cocoa


    【解决方案1】:

    模型不应该“玩”(或真正做任何事情),它只是数据。
    因此,您的视图控制器不应告诉您的模型要播放什么,而是应该询问模型需要播放什么,然后自己播放。

    据我了解您的问题,您的 AudioPlayer 不仅仅是一个“模型”类(因为它播放音频),但要在您的类上提供像样的 cmets,我们显然需要查看代码。

    【讨论】:

    • 我明白了。该应用程序是一个简单的故事书,但有很多 ViewControllers。我应该让每个 ViewController 实现并设置一个 audioPlayer 吗?这不是一个非常不理想的设置吗?
    • 不一定,你显然可以复用一个类来播放音频
    • 谢谢,我只是绕着一个明显的解决方案兜圈子。我会努力组织自己;)。
    猜你喜欢
    • 2015-05-02
    • 2012-06-02
    • 2016-06-06
    • 2019-05-09
    • 2015-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-06
    相关资源
    最近更新 更多