Por que o Xcode mostra o aviso ao usar o protocolo Avaudioplayer Delegate Protocol no arquivo appdelegate.h?
-
19-09-2019 - |
Pergunta
//--------- myappdelegate.h
@interface MyAppDelegate : NSObject <UIApplicationDelegate, AVAudioPlayerDelegate> {
// --- Em algum outro arquivo .m, tentando acessar o token do dispositivo que reside em MyAppdelegate ----------
MyAppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];
// resulta em // aviso: type 'id' não está em conformidade com o protocolo 'avaudioplayerdelegate'
Solução
É por causa de uma incompatibilidade de tipo: - A propriedade UIApplication.Delegate retorna uma instância do tipo ID - você está tentando lançar essa instância em MyAppDelegate, que implementa os protocolos uiapplicationDelegate e os protocolos AvaudioplayerDelegate. - Como o tipo retornado pela propriedade delegada não corresponde ao tipo appDelegate, você vê o aviso.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow