2012-01-17 71 views
0

- 你好,只是標題說。我有一個下載類,我想用來..下載的東西。我想我嘗試使用塊來通知呼叫者下載已完成。 startWithRequest方法從處理.net Web服務的單例類中調用。我將completionBlock存儲在實例變量中,然後在下載完成後再調用它。在那裏它給我EXC_BAD_ACCESS。我試圖保留completionBlock它沒有幫助。這裏是代碼:我的第一個實驗塊給了我EXC_BAD_ACCESS,我不知道爲什麼

​​

任何幫助表示讚賞。

+0

我想你想釋放一些你已經發布的變量。試着用斷點運行你的項目,看看問題出在哪一行。 – relower 2012-01-17 10:52:07

+0

我知道它給我的錯誤(我剛剛標記了位置),但我不知道爲什麼。 – 2012-01-17 10:54:53

+0

即時通訊不知道,我不知道確切的問題。在崩潰之前確保你的連接不是零調試? – relower 2012-01-17 11:09:20

回答

4

您需要複製塊,而不是保留它。

保留數量不會保存在堆棧上實例化的塊,因爲它的存儲將在退出時定義的函數立即消失。

-(void) startWithRequest : (NSURLRequest *) request : (void (^)(NSData *data, NSError *error))_completionBlock { 
    completionBlock = [_completionBlock copy]; 

// etc 
+0

是的,這是問題。看來所有的閱讀我仍然不明白這一點。但至少它有效。 – 2012-01-17 12:08:35

相關問題