Swift 3 UserDefaults 设置 NSMutableArray

标签 swift swift3 nsmutablearray nsuserdefaults userdefaults

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()

最佳答案

用于保存

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!)

关于Swift 3 UserDefaults 设置 NSMutableArray,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47484664/

相关文章:

arrays - 如何快速获取Dictionary中特定对象的索引

XCode 7 - 如何重新排列源代码元素

swift - 如何在 SwiftUI 中相对于不同坐标系中的其他 View 定位 View

swift - 我怎样才能回到 Swift 中的初始 View Controller ?

ios - 尝试使用 "Incompatible pointer type.."进行排序时为 `sortedArrayUsingFunction`

objective-c - 如何通过类别扩展向 NSMutableArray 添加属性?

swift - Swift 中的稍后日期

swift - 二元运算符 '==' 不能应用于类型 'Int8' 和 'Int' 的操作数

ios - Xcode 9.0 测试版 : swift "cannot init a class object" when calling Type. 初始化()

ios - NSMutableArray 行为怪异