gpt4 book ai didi

arrays - 从类数组中删除重复项并按日期对数组进行排序

转载 作者:行者123 更新时间:2023-11-28 06:10:19 25 4
gpt4 key购买 nike

我目前在使用两个不同的数组时遇到两个问题:

1)在我的 Xcode 项目中,我有一个数组,其中包含用于 tableView 的用户。每个用户都是称为用户的类的一部分:

class Users {
let userObjectID : String
let profilePhoto : UIImage
let fullname : String
let username : String

init(userObjectID : String, profilePhoto : UIImage, fullname : String, username : String) {
self.userObjectID = userObjectID
self.profilePhoto = profilePhoto
self.fullname = fullname
self.username = username
}
}

当我查找一个对象时,有可能 1 个用户可以两次拥有相同的对象,因此它会将该用户两次附加到数组中,当将数组放入 tableView 时,用户会出现两次。如何根据他们的 userObjectID 取出重复的用户?我相信我必须在获取数据后将其整理出来,但我不确定该怎么做。

2)第二个问题是在加载到 tableView 之前按日期对我的另一个包含类的数组进行排序。这是我的类(class):

class Object {
var id: String?
var date: Date? //want to use for tableView order
var owner : String?
var ownerFullname : String?
var ownerProfilePic : UIImage?
var name: String?
}

我想按每个“对象”中的“日期”对数组进行排序,但我不确定该怎么做。

如果您能就这两个问题或其中的一个问题提供任何指导,我们将不胜感激。提前致谢。

最佳答案

  1. 为了删除重复项,您可以使用 SET 或只执行如下操作:

创建和使用这个函数:

func removeDuplicates(_ array: [User]) -> [User] {
var result: User = []

for user in users {
if result.contains(user) == false {
result.append(user)
}
}

return result
}

2.为了对数组进行排序,你可以这样做:

array.sort { 
$0.date.compare($1.date) == .orderedDescending // it depends the order you want to use
}

关于arrays - 从类数组中删除重复项并按日期对数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46901407/

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