Próbuję uczyć się Cel C i mam błąd w kodzie dla jednej z moich lekcji i nie wiem jak to rozwiązać. Kod:setDelegate: self generuje flagę ostrożność
// AppController.m
#import "AppController.h"
@implementation AppController
- (id)init
{
[super init];
speechSynth = [[NSSpeechSynthesizer alloc] initWithVoice:nil];
[speechSynth setDelegate:self];
voiceList = [[NSSpeechSynthesizer availableVoices] retain];
Return self;
}
Z [speechSynth setDelegate Samodzielny]; Wystąpił błąd: Wysyłanie "AppController *" do parametru niezgodnego typu 'id < NSSpeechSynthesizerDelagate>'. Program kompiluje się z flagą ostrzegawczą i wydaje się działać poprawnie. Porównałem mój kod z kodem autora i nie znajduję żadnych różnic, a żadne z moich wyszukiwań nie wskazało, że powinienem otrzymać błąd w tej linii. Książka została napisana dla Xcode 3 i używam Xcode 4.0.2.
Wszelkie sugestie lub skierowanie mnie we właściwym kierunku zostaną bardzo docenione. Dzięki.
Czy implementujesz protokół delegata w nagłówku? –
Czy Twój AppController implementuje NSSpeechSynthesizerDelegate? – Perception