我正在存儲我的塊,同時我的Web服務關閉並與我的服務器通話。因此,我使用[myBlock copy]
來保留對我的區塊的引用。如何釋放塊
一旦我得到了我的數據並執行了該塊,我可以撥打[myBlock release]
,還是使用Block_release(myBlock)
?我可以找到兩個參考。
我正在存儲我的塊,同時我的Web服務關閉並與我的服務器通話。因此,我使用[myBlock copy]
來保留對我的區塊的引用。如何釋放塊
一旦我得到了我的數據並執行了該塊,我可以撥打[myBlock release]
,還是使用Block_release(myBlock)
?我可以找到兩個參考。
Block_release()
是否適用於僅在C中使用塊而不是Objective-C。
當使用Objective-C時,您可以使用release
和copy
方法使您的代碼看起來更像周圍的其他ObjC。
我想他們都做同樣的事情,並且objc方法只是對Block_release()
調用的包裝。
作爲it's explained in reference複製/釋放的總和必須等於零。因此,如果您使用Objective-C,則可以撥打[block copy]
,因此請撥打[block release]
。
如果您使用C,則應使用Block_copy()
和Block_release()
。
由於Jasarien寫道他們可能做同樣的事情,所以你可以交替使用它們。但重要的是要保持公約的一致性 - 所以當你使用[block copy]
時,你寧願使用[block release]
而不是Block_release()
他們沒有區別 – 2012-04-23 08:42:49