使用AppDelegate作为单例

时间:2014-03-30 14:44:18

标签: ios objective-c delegates singleton appdelegate

我正在使用我的AppDelegate处理一些音频文件。我已将其设为AVAudioPlayer代表,因此我可以使用audioPlayerDidFinishPlaying等方法。

我这样做了:

@interface AppDelegate : UIResponder <UIApplicationDelegate, AVAudioPlayerDelegate>

然后在任何ViewController中,我按以下方式访问AppDelegate

AppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];

一切正常,但我收到以下警告:

Assigning to 'APPDelegate *__strong' from incompatible type 'id<UIApplicationDelegate>'

1 个答案:

答案 0 :(得分:3)

您需要将其投放到AppDelegate类型 -

AppDelegate *appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate];