有啥办法可以将三个班级分组吗?

Posted

技术标签:

【中文标题】有啥办法可以将三个班级分组吗?【英文标题】:Is there any way i can group three classes?有什么办法可以将三个班级分组吗? 【发布时间】:2011-07-17 06:19:48 【问题描述】:

我想要做的是首先我有很多课程,他们都有相同的音乐,正如我在应用程序代表 bool 应用程序确实完成启动方法中所说的那样。但是在我最近的 3 节课中,我想要不同的音乐,很公平,我放了这几行代码:

 [(Smart2AppDelegate *)[UIApplication sharedApplication].delegate pauseAudioPlayer];
[(Smart2AppDelegate *)[UIApplication sharedApplication].delegate newAudioPlayer];

在我的应用委托中:

 -(void)newAudioPlayer 

NSString *music = [[NSBundle mainBundle]
                   pathForResource:@"win" ofType:@"m4a"];
audio.delegate = self;
self.audio = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:music] error:NULL];

[audio play];
audio.numberOfLoops = -1;
     

 -(void)pauseAudioPlayer 

[audio pause];
 

所以它起作用了,每当我进入那个视图时,它就会改变音乐,让我们调用那个视图,视图 x。现在,从那个视图 x 我只能往返于 2 个其他视图,例如我可以转到信息页面,并且有一个返回按钮可以返回到那个视图 x,奖品页面也是如此。但是当我回到视图 x 时,音乐从头开始,当在这三个类中,我希望它们全部循环而不是从头开始,因为这听起来很尴尬。原因很简单就是因为我把它放在了viewDidLoad中。但是我该怎么做呢,我在想一种方法来真正对类进行分组并在其中放入 avaudioplayer 方法。

【问题讨论】:

【参考方案1】:

这里有一个可能的方法:

    将音乐+声音机制重构为一个单独的类,例如 Smart2AudioPlayer。 公开必要的方法:播放、暂停、恢复,以便您可以在任何地方使用音频播放器。 在每个 viewDidLoad 方法中,调用音频播放器并传递一个参数以指示谁是发送者(谁希望播放声音)和一个首选项,指示您是否希望继续播放当前组歌曲(见下文)或者重新开始。 在音频播放器中实现必要的逻辑,以允许将某些类组关联在一起。这样,当您正在播放属于某个组的班级的歌曲时,并且同一组的另一个班级要求播放音乐时,您将不会重新开始播放歌曲,您什么也不做。

希望对你有帮助

【讨论】:

以上是关于有啥办法可以将三个班级分组吗?的主要内容,如果未能解决你的问题,请参考以下文章

sql分组查询

将多个分组查询组合成单个查询

mysql中分组之后取每个组的前三个

将数组分组 - 我的代码有啥问题?

数据库中having 和where有啥区别

sql 分组排序