2012-06-12 129 views
0

的執行隊列中我得到在該行警告爲:警告在AVCaptureSession

(發送「視圖控制器* const_strong」不相容 類型的參數‘ID’

實施當這行代碼

[output setSampleBufferDelegate:self queue:queue]; 

代碼用來處理隊列

[[selfcaptureSession]addOutput:output]; 
dispatch_queue_t queue =dispatch_queue_create("myQueue", NULL); 
    [outputsetSampleBufferDelegate:selfqueue:queue]; 
dispatch_release(queue); 

任何人都可以指出原因嗎?

回答

0

猜測它應該是:

[outputsetSampleBufferDelegate:self queue:queue]; 

但我不認爲這個問題是存在的,否則它不會任何工作。該警告是明確的,您正在將ViewController發送到類型爲id的參數。你能否顯示該方法的簽名?

+0

是的,但仍然警告繼續! :( – sam

1

我剛剛發現警告的解決方案 委託屬性被鍵入爲id。但是,自我並非如此。 使用ARC時,我們必須使演員明確,以便類型正式同意。

所以解決辦法是增加(ID)自

[output setSampleBufferDelegate:(id)self queue:queue]; 

乾杯