UserDefaults swift作为数组检查值是否存在

时间:2017-01-21 20:34:21

标签: ios arrays swift3

所以我正在使用:

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数组的任何提示吗?

1 个答案:

答案 0 :(得分:1)

使用array(forKeydata(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)

}