【问题标题】:Swift 3 UserDefaults set NSMutableArraySwift 3 UserDefaults 设置 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()

【问题讨论】:

    标签: swift swift3 nsmutablearray nsuserdefaults userdefaults


    【解决方案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
    猜你喜欢
    • 1970-01-01
    • 2017-04-16
    • 1970-01-01
    • 2020-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多