为啥 Xcode 在 appdelegate.h 文件中使用 AVAudioPlayer Delegate 协议时显示警告?

Posted

技术标签:

【中文标题】为啥 Xcode 在 appdelegate.h 文件中使用 AVAudioPlayer Delegate 协议时显示警告?【英文标题】:Why Xcode shows warning when use AVAudioPlayer Delegate protocol in appdelegate.h file?为什么 Xcode 在 appdelegate.h 文件中使用 AVAudioPlayer Delegate 协议时显示警告? 【发布时间】:2009-11-13 10:27:22 【问题描述】:

//---------MyAppDelegate.h

@interface MyAppDelegate : NSObject <UIApplicationDelegate, AVAudioPlayerDelegate> 

//---在其他一些 .m 文件中,尝试访问驻留在 MyAppDelegate 中的设备令牌 ----------

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

// 结果 // 警告:类型 'id' 不符合 'AVAudioPlayerDelegate' 协议

【问题讨论】:

【参考方案1】:

这是因为类型不匹配: - UIApplication.delegate 属性返回 id 类型的实例 - 您正在尝试将此实例转换为实现 UIApplicationDelegate 和 AVAudioPlayerDelegate 协议的 MyAppDelegate。 - 由于委托属性返回的类型与 appDelegate 类型不匹配,您会看到警告。

【讨论】:

以上是关于为啥 Xcode 在 appdelegate.h 文件中使用 AVAudioPlayer Delegate 协议时显示警告?的主要内容,如果未能解决你的问题,请参考以下文章

AppDelegate.swift 如何在 Xcode 6.3 中替换 AppDelegate.h 和 AppDelegate.m

Xcode - 在 AppDelegate 中加载声音时出现 Apple Mach-O 链接器错误

Xcode11 新建工程中的SceneDelegate

在 Main.storyboard 和 AppDelegate.h 之间建立连接

AppDelegate 的解释? [复制]

关于xcode11新建项目黑屏那点 blackj-01