作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在制作一个在表格 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/
我是一名优秀的程序员,十分优秀!