簡體   English   中英

Xcode 4警告“ NSURLConnection的表達結果未使用”

[英]Xcode 4 warning "Expression result unused” for NSURLConnection

我只是在嘗試進行通常的數據傳輸。 我定義我的NSMutableURLRequest然后調用

[[NSURLConnection alloc] initWithRequest:request delegate:self];

Xcode 3以前可以這樣做,但Xcode 4會警告我該行上的“ 表達式結果未使用 ”。 該請求確實有效,但我想找到一種擺脫警告的方法。

我想我可以存儲在一個變量連接,但我並不真的需要它,我看不出它設置為點nil下一行(雖然這將消除警告)

請注意:我不是100%知道它是Xcode 4還是啟用了ARC。

當一個函數返回不需要的結果時,可以將其強制轉換為void以消除編譯器警告:

(void) [[NSURLConnection alloc] initWithRequest:request delegate:self];

我還沒有使用過ARC,所以我不能說這是否是個好主意,在ARC之前,您需要將此指針結果保存在某個地方以便可以釋放它。

progrmr的答案是正確的,但這是一種更干凈的方法:

[NSURLConnection connectionWithRequest:request delegate:self];

即使您不將結果強制無效,這也不會引起警告。

有人應對該NSURLConnection負責。 不需要存儲連接,但是如果需要的話,它是更好的編碼。 問題是,在創建我們的NSURLConnection沒有人擁有指向所創建實例的指針,事實並非如此。

讓我們假設以下示例:

  1. 您的ClassA實例正在創建NSURLConnection實例
  2. 您的ClassA實例正在釋放並釋放
  3. NSURLConnection仍然有效,並且將把NSURLConnection激發到您的已釋放實例。

為了解決該問題,您應該存儲NSURLConnection實例,並在釋放ClassA實例時釋放該連接,這也會導致釋放NSURLConnection實例。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM