0
那麼爲什麼你實例化NSURLConnection然後在下一行釋放它呢?我知道它涉及使用委託,但我有點困惑。NSURLConnection
那麼爲什麼你實例化NSURLConnection然後在下一行釋放它呢?我知道它涉及使用委託,但我有點困惑。NSURLConnection
安裝完成後,您不應該釋放NSURLConnection。除非當然,如果你使用它作爲retain
屬性(正如@ArtGillespie指出的那樣)
當你實例化它時,保留計數將只有1,如果你釋放它,保留計數將是設置爲0,那麼該對象將從內存中清除,從那時起,您可能指向內存中的無效位置。
如果您將它作爲保留屬性,則在分配屬性值時,您將在保留計數中加1。因此,在實例化和分配後,您的保留計數將爲2。那麼正確的做法是釋放它,以便保留計數回到1,並且在連接完成後您可以正確地release
對象(或將屬性設置爲nil
,這也會導致對象被釋放)
是否[此SO線程](http://stackoverflow.com/questions/1632168/when-to-call-release-on-nsurlconnection-delegate)有幫助嗎?看到hjon的評論,他也在談論將自己當作代表。 – dawebber 2011-04-26 03:40:05
你能告訴我們你正在談論的代碼嗎?除了我的頭腦之外,我認爲這樣做的唯一原因是如果您將它分配給「保留」屬性。 – 2011-04-26 03:48:44
表示同意,使用委託並不一定意味着保留NSURLConnection。 – Damien 2011-04-26 09:16:12