为啥 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 链接器错误