所以我正在使用:
var defaults = UserDefaults.standard
....
seenPosts.insert(CellsData[indexPath.row]["id"] as! Int, at: 0)
所以我基本上使用UserDefaults设置带有id的数组,现在我想检查该数组是否有值
if (self.defaults.data(forKey: "seen_posts").contains(5){
//do action
}
但不起作用,如果在数组中有特定值,可以检查UserDefaults数组的任何提示吗?
答案 0 :(得分:1)
使用array(forKey
。 data(forKey
适用于(NS)Data
个对象。
您可以检查nil
以及数组是否包含一个表达式中的值:
let defaults = UserDefaults.standard
if let seenPosts = defaults.array(forKey: "seen_posts") as? [Int], !seenPosts.contains(5) {
seenPosts.insert(CellsData[indexPath.row]["id"] as! Int, at: 0)
}