// // LocalStorage.swift // PaiAi // // Created by mac on 2016/10/28. // Copyright © 2016年 FFIB. All rights reserved. // import UIKit import ObjectMapper extension UserDefaults { struct Group: ArrayUserDefaultable { enum ArrayDefaultKey: String { case lastVisitGroup } } } func addGroupInfoToRecent(_ groupInfo: GroupModel) { let group = NSKeyedArchiver.archivedData(withRootObject: groupInfo.toJSON()) let md5Id = groupInfo.group_id.digestString(algorithm: .md5) let data: [String : Data] = [md5Id: group] if var array = UserDefaults.Group.array(forKey: .lastVisitGroup) as? [[String : Data]] { var arr = [[String: Data]]() for i in 0.. GroupModel { if let locale = UserDefaults.Group.array(forKey: .lastVisitGroup) as? [[String : Data]] { guard let dict = NSKeyedUnarchiver.unarchiveObject(with: (Array(locale[index].values) as [Data])[0]) as? [String: Any] else { return GroupModel() } return GroupModel(map: Map(mappingType: .fromJSON, JSON: dict)) } return GroupModel() } func removeGroupInfoRecent(groupId: String) { let md5Id = groupId.digestString(algorithm: .md5) if let array = UserDefaults.Group.array(forKey: .lastVisitGroup) as? [[String : Data]] { let newArr = array.filter({ (element) -> Bool in return !element.keys.contains(md5Id) }) UserDefaults.Group.set(newArr, forKey: .lastVisitGroup) } } func returnGroupInfoCount() -> Int { if let locale = UserDefaults.Group.array(forKey: .lastVisitGroup) as? [[String : Data]] { return locale.count } return 0 }