我正在嘗試學習Objective C,並在代碼中出現錯誤,並且我不知道如何解決它。 代碼:setDelegate:自我生成警告標誌
// 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;
}
From [speechSynth setDelegate:self];我得到錯誤:發送'AppController *'到不兼容類型的參數'id < NSSpeechSynthesizerDelagate>'。 該程序與警告標誌編譯並似乎運行正常。我將我的代碼與作者的代碼進行了比較,可以發現沒有區別,我的搜索沒有表明我應該在此行上發生錯誤。這本書是爲Xcode 3編寫的,我使用的是Xcode 4.0.2。
任何建議或指引我在正確的方向將不勝感激。謝謝。
您是否在頭中實現委託協議? –
你的AppController是否實現了NSSpeechSynthesizerDelegate? – Perception