Почему Xcode показывает предупреждение при использовании протокола делегирования AVAudioPlayer в файле appdelegate.h?
-
19-09-2019 - |
Вопрос
//--------- MyAppDelegate.h
@interface MyAppDelegate : NSObject <UIApplicationDelegate, AVAudioPlayerDelegate> {
//--- в каком-то другом файле .m пытаюсь получить доступ к токену устройства, находящемуся в MyAppDelegate ----------
MyAppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];
// Приводит к появлению // предупреждения:тип 'id ' не соответствует протоколу 'AVAudioPlayerDelegate'
Решение
Это происходит из-за несоответствия типов:- Свойство UIApplication.Свойство delegate возвращает экземпляр типа id - Вы пытаетесь преобразовать этот экземпляр в MyAppDelegate, который реализует протоколы UIApplicationDelegate и AVAudioPlayerDelegate.- Поскольку тип, возвращаемый свойством delegate, не соответствует типу AppDelegate, вы увидите предупреждение.
Не связан с StackOverflow