Re: [問題] block retain 問題

看板MacDev作者 (小朱)時間9年前 (2016/05/16 22:17), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《issuemylove (NotLove)》之銘言: : 各位好 : 我利用AFNetworking寫了個重複地詢問server狀態的連線(程式碼在下行網址) : http://pastebin.com/AYUDgK2j : 想問說,一般網路上看到的情況是 : viewController A retain 一個 block B : B 中用到 A 時要使用__weak才不會造成memory leak : 程式碼是我寫的,可是我搞不清楚這樣寫對不對 : 感覺是 AFNetworking A, retain Block B, B 再 retain 自己寫的Api C : 然後 C 又retain B,...其實我搞糊塗了真正的retain方向沒個概念 : 另外我這樣寫是正確的嗎? 謝謝各位出手相救! 我舉個例子:有 FirstViewController 與 SecondViewController,介面如下面網址: https://gist.github.com/Darktt/b42ddc12d9ae049f0431f93775a756de FirstViewController 會在其中一次的按鈕觸發下建立 SecondViewController, 並將 FirstViewController 給了 SecondViewController, 之後將它顯示出來。 這時候 FirstViewController 其實還在記憶體中,不會被釋放, 所以不用再使用 retain (strong) 將 FirstViewController 增加一次的 retain count, 這時候在 SecondViewController dealloc 的時候也不能釋放 FirstViewController, 因為這會造成提早釋放的問題。 其實 assign(weak)retain(strong) 的差異是這個物件有沒有被其他的物件長期持有 有的話就是 assign(weak),沒有就是 retain(strong)。 -- #1ID_Wqk2 (iPhone) [ptt.cc] [問題] 記錄天數的app

09/17 14:40,
Days matter 倒數忌日都有
09/17 14:40

09/17 14:41,
記日
09/17 14:41

09/17 14:44,
一樓我知道是輸入法問題 不過我還是忍不住笑了
09/17 14:44

09/17 14:46,
1F好嚇人阿XD
09/17 14:46
-- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.133.234.121 ※ 文章網址: https://www.ptt.cc/bbs/MacDev/M.1463408227.A.CF5.html

05/17 11:01, , 1F
感謝d大解說,腦袋更清晰了 謝謝!
05/17 11:01, 1F
文章代碼(AID): #1NETPZpr (MacDev)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
文章代碼(AID): #1NETPZpr (MacDev)