在某个视图中,我有一堆 AVAudioPlayer 属性,每个属性都应该在某个用户操作时播放。在播放选定的 AVAudioPlayer 时,如果播放了另一个 AVAudioPlayer - 它应该停止。
为了管理它,我创建了一个包含所有 AVAudioPlayer 属性的数组,并且在用户选择时,在播放选定的 AVAudioPlayer 之前,我希望检查所有 AVAudioPlayer 并停止它们。
问题是创建数组的合理位置是在开始时(比方说,在 ViewDidLoad 中),此时没有任何 AVAudioPlayer 属性通过 alloc+init - 所以如果我在调试器中查看数组,它显示为空(对象数 = 0)。目前,我只在用户实际选择某个 AVAudioPlayer 时才执行 alloc+init 操作。
我也可以在开始时为所有 AVAudioPlayers 执行 alloc+init,但这会占用不必要的资源。
有没有办法在不占用所需资源的情况下创建这个数组?即用“空”对象创建数组,然后分配和启动它们?