0
我是新編程的obj-c。那麼,我應該何時發佈定義的對象? 我必須發佈urlRequest,響應,數據和內容嗎?什麼時候應該在objective-c中釋放這些對象?
我是新編程的obj-c。那麼,我應該何時發佈定義的對象? 我必須發佈urlRequest,響應,數據和內容嗎?什麼時候應該在objective-c中釋放這些對象?
您只能發佈urlRequest
。 response
,data
已創建爲自動釋放對象和content
返回之前接收自動釋放消息(我建議最後兩行改變只return [content autorelease]
)。
這也是更常見的對象指針初始化爲nil
,而不是NULL
。
可可有一個約定,如果你調用上的任何對象的alloc
,copy
,retain
或new
在初始化或重新分配他們,你必須release
除非他們創建後收到autorelease
消息。
您可以從您的代碼中看到,只有urlRequest
和content
變量是使用alloc
方法創建的,因此它們必須是[自動]發佈的。
更新照看評論
如果你有urlRequest
作爲一個實例變量先前啓動的變量可以陰影伊娃,你可能會陷入各種麻煩(如EXC_BAD_ACCESS
)。你最好爲你的局部變量選擇一個不同的名字。
如果您滿意的答案,勾出下投票箭頭對號接受它。 – Eimantas
好的,謝謝。 它適用於現在,但如果我釋放的URLRequest和執行方法超過一次,我得到一個EXC_BAD_ACCESS錯誤。 你有什麼建議嗎? –
取決於您發佈'urlRequest'變量的位置。 – Eimantas