gpt4 book ai didi

arrays - 循环遍历不同长度的数组 Swift

转载 作者:行者123 更新时间:2023-11-28 08:41:39 24 4
gpt4 key购买 nike

我正在制作一个在表格 View 中显示所有消息的代码。到和从。我遇到的问题是数组的长度不同,比较它们时,循环会在最短时停止而不是继续。

我所做的是将两个不同的数组排序并将它们分类为一个更大的数组,这是一个组合,但根据与另一个数组相比的时间对它们进行排序。

我正在使用 Swift 并且我还使用 Parse 来查询信息。

我承认我不是最擅长数组的人。这是一个包含已发送消息和已接收消息的字典然后循环遍历的好时机吗?

  for var i = 0; i <= self.messagesPFObjectResults.count; i++ {

let sentMessagesInfo = sentMessagesObject![i] //This Equals 7
let recievedMessageInfo = recievedMessagesObject![i] // this equals 8

if sentMessagesInfo.createdAt?.timeIntervalSinceReferenceDate >= recievedMessageInfo.createdAt?.timeIntervalSinceReferenceDate {

self.messagesPFObjectResults.append(recievedMessageInfo)
print("message recieved at: \(recievedMessageInfo.createdAt!)")


print(false)

} else if sentMessagesInfo.createdAt?.timeIntervalSinceReferenceDate <= recievedMessageInfo.createdAt?.timeIntervalSinceReferenceDate {

self.messagesPFObjectResults.append(sentMessagesInfo)

print("message sent at: \(sentMessagesInfo.createdAt!)")

print(true)

}

print(i)
}

最佳答案

这一行:

self.messagesPFObjectResults.append(<someObject>)

有问题。当您在 for 循环内时,您不应修改正在迭代的数组。

相反,您可以在 for 循环之前定义一个空数组,并将您的对象附加到 那个 数组。完成 for 循环后,您可以将临时数组中的对象添加到 self.messagesPFObjectResults

关于arrays - 循环遍历不同长度的数组 Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36390807/

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