![]() ![]() ![]() ![]() |
|||||
|
|||||
樓主 可樂快跑 ![]()
![]() |
因為這個東西是會暫用手機的資料儲存而非暫存。 我要講的是app開啟後的執行期的暫存,也就是當app結束後資料是會消失不見的。 通常如果初學看書的話,大都是介紹你如何將本頁的資料傳到下一個ViewController。 但其實有些東西你會期望他在app執行階段能夠一直存在,直到app結束為止。 原本後來我找到的是利用AppDelegate來做一些呼叫其他class或是struct的方式來做全域資料暫存。 雖然這大體解決了我很多的問題,可仍然不是我很喜歡的做法。 後來無意間在處理一個longpress觸發TableViewCell移動的功能的code。 發現那個作者很神奇的暫存了Path.initialIndexPath,我心中有了個疑惑。 於是我去google了相關的資料,才確認了這種靜態呼叫而在全域皆會存在的做法。 比起使用AppDelegate的方式來說,更加簡單方便。而且也確認是全域通用。 其做法大致如下: //定義一個結構,內含有你打算儲存的資訊及資料形態。最好使用optional以讓後續可以做nil判斷。 struct AppCache { static var name : String? } 設定時: AppCache.name = "Cola" 取用時 let name = AppCache.name!
== 簽名檔 ==
發問的美學: 1.確定你的先備知識條件足夠,基礎該學習的就不應該問人。 2.先思考過或先google過。 3.明確表達問題。 4.表達明確,能詳細問題的code。 5.發問的問題,絕不刪除,留給其他遇到相同問題的人一個好的紀錄。 6.我的skype或line是tkdmaf,歡迎直接詢問。 |