下面的代碼給了Sending 'ViewController *const __strong' to parameter of incompatible type 'id<AVAudioPlayerDelegate>'
(這是在下面的代碼的第三行)警告:如何解決警告:將'ViewController * const __strong'發送到不兼容類型'id <AVAudioPlayerDelegate>的參數?
NSURL *sound0URL = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"0" ofType:@"aiff"]];
audioPlayer0 = [[AVAudioPlayer alloc] initWithContentsOfURL:sound0URL error:nil];
[audioPlayer0 setDelegate: self]; // <--- this line causes the warning
[audioPlayer0 prepareToPlay];
audioPlayer0.currentTime = 0;
[audioPlayer0 play];
怎樣纔可以解決嗎?我在ViewController
的實例方法viewDidLoad
中有此代碼。有另一個類似的問題,但這是一個類的方法:Incompatible pointer types assigning to 'id<AVAudioPlayerDelegate>' from 'Class'
同樣在這裏 - 我.h文件中已定義的委託,但警告仍然存在 – barry
也許你有你的控制器定義的UIViewController或UITableViewController中(例如)和你的myImagePicker是一個UINavigationController ...可能會導致警告。 –
[myImagePicker setDelegate:(id)self]; –