gpt4 book ai didi

arrays - 如果对象字符串与单独数组中的字符串匹配,则删除对象

转载 作者:行者123 更新时间:2023-11-30 12:28:50 25 4
gpt4 key购买 nike

我有一个带有四个字符串的 nsobject 类

class Post: NSObject {
var author: String!
var postID: String!
var pathToImage: String!
var userID: String!
}

我还有一个单独的类 View Controller ,它具有从 firebase 抓取帖子的功能。我有一个名为 posts = [Post]() 的数组,它由一个单独的函数填充,该函数通过 firebase 并获取每张照片的数据。我还有一个名为 removeArray 的数组,它是字符串数组,该字符串是某些帖子的 postID。现在这是我的问题,我试图循环 removeArray,检查 removeArray 中的每个是否 = posts.postID 中的每个并且检查它们是否相等。然后,我要么删除 posts.postID 帖子中的每个帖子,要么创建一个新数组,即 posts - 在 removeArray 中包含 postID 的帖子。这是我的代码,现在不起作用,它只是按原样保留帖子。

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
}
}

因此,如果您知道如何获取数组中的字符串,请检查该字符串是否等于 objects.postID 数组中的字符串,并从数组中删除该对象(如果)它是平等的。我试图研究一种过滤它的方法,但到目前为止还一无所获。请给我一些反馈。谢谢我的问题=http://imgur.com/a/m5CiY

最佳答案

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

关于arrays - 如果对象字符串与单独数组中的字符串匹配,则删除对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43839620/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com