簡體   English   中英

我是否需要在異步功能中釋放參數?

[英]Do i need to release parameter in asynchronous function?

我為此搜索了很多,但是對此一無所知。

首先,我沒有使用ARC。

假設我正在調用一個異步函數,並將指針A傳遞給它,最初我想,好吧,讓我們傳遞一個自動釋放的指針A給它,異步函數將在完成操作后釋放A。 但似乎不起作用。

NSURLRequest *request = [[[NSURLRequest requestWithURL:[NSURL URLWithString:@"someurl"]] autorelease];
[webView loadRequest:request];

然后有一個EXC_BAD_ACCESS錯誤進來,如果我刪除了自動發行版,那就很好了。

有人知道嗎?

請再次閱讀基本的內存管理規則

您不是使用包含“ alloc”,“ new”,“ copy”或“ mutableCopy”一詞的方法創建NSURLRequest ,因此您不擁有它,因此不應釋放它。

另外,您不是在“調用異步函數”。 當您調用[webView loadRequest:] ,方法調用立即且同步進行。 該方法在后台啟動了一些異步工作,這些工作稍后會完成-但這不會影響您首先調用該方法的方式或對其參數的內存管理。

暫無
暫無

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

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