看板 MacDev 關於我們 聯絡資訊
請問各位 假設我有多個viewcontroller, 每個viewcontroller都想 共用某個物件, 例如玩家資訊User Class, 那User Class一般是否都會寫在 AppDelegate.swift裡面呢? 例如 : AppDelegate.swift class AppDelegate: UIResponder, UIApplicationDelegate { var user = User() } 當B Class要使用的時候 let app = UIApplication.shared.delegate as! AppDelegate let player = app.user 一般是否都是這樣的使用呢? 因為AppDelegate這要是管理app生命週期, 才會想是否可以寫在這 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 210.61.66.43 ※ 文章網址: https://www.ptt.cc/bbs/MacDev/M.1484544162.A.9B3.html
tentenlee: 在宣告class外面那層宣告變數就是全域變數了 01/16 13:24
darktt: 不要將要保存放在 AppDelegate 中,這是不合物件導向規則 01/16 14:47
darktt: 的,你還有UserDefaults可以放資料,不然就是開一個單例 01/16 14:47
darktt: 的物件來保存暫時的資料 01/16 14:47
herbacin: 我希望可以存在記憶體裡面, 因為其他viewController 01/16 15:13
herbacin: 都有可能被釋放 01/16 15:14
tkdmaf: 你可以寫個struct用靜態呼叫。也是個方法。 01/16 16:03
herbacin: 了解 謝謝喔 01/16 16:25
bigbearlazir: singleton instance不就是在記憶體上嗎 01/16 18:38
bigbearlazir: singleton instance不等於viewcontroller 01/16 18:39
gundam00: 剛好最近也要用到singleton https://goo.gl/C5xa4e 這篇 01/17 00:05
gundam00: 教你如何用最簡單的方式寫出singleton的class 01/17 00:05
a26364177: Singleton 01/18 01:47