有沒有簡單的方法來存儲我的應用程序的數據在Swift 3?Swift 3緩存
我想以某種方式存儲單個對象。我試過UserDefaults.standard.set(my_object, forKey: "my_object")
,但它似乎沒有工作。
我把這個代碼在AppDelegate.swift在func applicationWillTerminate(_ application: UIApplication)
另外,我想讀這個對象早在func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool
,應用程序啓動時。
我的對象不在屬性列表中(它不是標準類型,如NSDate或NSNumber)。我怎樣才能將這種對象添加到UserDefaults? –
非常好的問題!但是這是一個Stack Overflow已經被回答了很多次的問題,所以只需要進行搜索。你可以在UserDefaults中存儲任何東西;你只需要把它存檔成一個NSData,並且這樣做。 (可能會幫助您瀏覽我書中的討論:http://www.apeth.com/iOSBook/ch36.html#_saving_and_reading_files) – matt
@BartoszWoźniak爲了在UserDefaults中存儲自定義類對象,請閱讀有關NSCoding協議,編碼 - 解碼,存檔 - 取消存檔 http://stackoverflow.com/questions/37980432/swift-3-saving-and-retrieving-custom-object-from-userdefaults –