Swift 3 UserDefaults 设置 NSMutableArray
Posted
技术标签:
【中文标题】Swift 3 UserDefaults 设置 NSMutableArray【英文标题】:Swift 3 UserDefaults set NSMutableArray 【发布时间】:2017-11-25 09:56:04 【问题描述】:Saving NSMutableArray with NSUserDefaults in Swift Returns Nil
setObject
方法删除了我这样的代码并且不起作用。我尝试了所有设置类型仍然无法正常工作。有什么想法吗?
var banksAccount : NSMutableArray = []
for bankJson in (self.users?[0].Banks)!
self.banksAccount.add(bankJson)
UserDefaults.standard.set(self.banksAccount, forKey: "myBanksAccounts")
UserDefaults.standard.synchronize()
【问题讨论】:
【参考方案1】:为了节省
let cacheArrayData = NSKeyedArchiver.archivedData(withRootObject: banksAccount)
UserDefaults.standard.set(cacheArrayData, forKey: "EventItems")
用于检索
let retriveArrayData = UserDefaults.standard.object(forKey: "EventItems") as? NSData
let retriveArray = NSKeyedUnarchiver.unarchiveObject(with: retriveArrayData! as Data) as? NSArray
self.eventsArray = NSMutableArray(array:retriveArray!)
【讨论】:
2017-11-25 14:18:45.017745+0300 MyApp[22186:298457] *** NSForwarding: 警告: 'MyApp.Bank' 类的对象 0x600000299f00 没有实现 methodSignatureForSelector: -- 麻烦前方无法识别的选择器-[MyApp.Bank replacementObjectForKeyedArchiver:] 2017-11-25 14:18:45.018325+0300 MyApp[22186:298457] 无法识别的选择器-[MyApp.Bank replacementObjectForKeyedArchiver:] @GökhanÇokkeçeci银行帐户这应该是NSArray以上是关于Swift 3 UserDefaults 设置 NSMutableArray的主要内容,如果未能解决你的问题,请参考以下文章
Swift - UserDefaults 设置未保存在框架内
Swift 3 - UserDefaults 无缘无故自动清除