[問題] 關於swift 物件記憶體回收機制消失

看板MacDev作者時間9年前 (2017/01/09 14:05), 9年前編輯推噓2(205)
留言7則, 4人參與, 最新討論串1/1
請問一下各位大大, 最近碰到一個問題 問題 :手動 destory object class Demo { init(){ } deinit{ print("destory") } } var a: Demo? = Demo() //destory a a = nil //print destory //如果b 為non-optional類型, 要如何destory object? var b: Demo = Demo() 還是說一般不會這樣使用呢? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.216.89.1 ※ 文章網址: https://www.ptt.cc/bbs/MacDev/M.1483941924.A.891.html

01/09 14:28, , 1F
If no one own it, it will be deinit.
01/09 14:28, 1F

01/09 14:52, , 2F
所以不能手動去做釋放的動作嗎?
01/09 14:52, 2F

01/09 15:27, , 3F
可以用 autorelease 模擬, 但你為什麼會需要手動釋放?
01/09 15:27, 3F

01/09 15:40, , 4F
因為剛學, 我看optional型態都可以set nil
01/09 15:40, 4F

01/09 15:40, , 5F
才想說 non-optional是否有可以, 畢竟都可以是
01/09 15:40, 5F

01/09 15:40, , 6F
reference type
01/09 15:40, 6F
※ 編輯: herbacin (61.216.89.1), 01/09/2017 15:41:30

01/09 23:55, , 7F
ARC很聰明
01/09 23:55, 7F
文章代碼(AID): #1OSoWaYH (MacDev)