Почему Xcode показывает предупреждение при использовании протокола делегирования AVAudioPlayer в файле appdelegate.h?

StackOverflow https://stackoverflow.com/questions/1728384

Вопрос

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

@interface MyAppDelegate : NSObject <UIApplicationDelegate, AVAudioPlayerDelegate> {

//--- в каком-то другом файле .m пытаюсь получить доступ к токену устройства, находящемуся в MyAppDelegate ----------

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

// Приводит к появлению // предупреждения:тип 'id ' не соответствует протоколу 'AVAudioPlayerDelegate'

Это было полезно?

Решение

Это происходит из-за несоответствия типов:- Свойство UIApplication.Свойство delegate возвращает экземпляр типа id - Вы пытаетесь преобразовать этот экземпляр в MyAppDelegate, который реализует протоколы UIApplicationDelegate и AVAudioPlayerDelegate.- Поскольку тип, возвращаемый свойством delegate, не соответствует типу AppDelegate, вы увидите предупреждение.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top