我有一个带有四个字符串的nsobject类
class Post: NSObject {
var author: String!
var postID: String!
var pathToImage: String!
var userID: String!
}
我还有一个单独的类视图控制器,它具有从firebase获取帖子的功能。我有一个名为posts = [Post]()
的数组,它由一个单独的函数填充,该函数通过firebase并抓取每张照片的数据。我还有一个名为removeArray
的数组,它是字符串数组,字符串是某些帖子的postID。现在这是我的问题,我正在尝试遍历removeArray
,检查removeArray
中的每一个是否posts.postID
中的每一个并检查它们是否相等。然后我要删除posts.postID
帖子中的每一个,或者我创建一个新帖子 - 帖子 - 帖子removeArray
中的帖子ID。这是我的代码现在不起作用,它只是保持帖子不变。
if posts != nil {
if var array = UserDefaults.standard.object(forKey: "removeArray") as? [String] {
for each in posts {
for one in array {
if one == each.postID {
new.append(each)
}
}
}
return self.posts.count
}
}
因此,如果你知道如何在数组中取一个字符串,检查该字符串是否eqaul为objects.postID
数组中的字符串,如果相等,则从数组中删除该对象。我试图研究一种过滤它的方法,但到目前为止还没有。请给我一些反馈。谢谢
我的问题= http://imgur.com/a/m5CiY
答案 0 :(得分:0)
var posts = [p1,p2,p3,p4,p5]
let array = ["aaa","bbb"]
var new:Array<Post> = []
for each in posts {
for one in array {
if one == each.postID {
new.append(each)
}
}
}
print("This objects should be remvoed: \(new)")
posts = Array(Set(posts).subtracting(new))
print("After removing matching objects: \(posts)")