有没有简单的方法来存储我的应用程序的数据在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 –