gpt4 book ai didi

ios - 通过 createdAt 快速排序解析结果

转载 作者:行者123 更新时间:2023-11-29 01:42:21 26 4
gpt4 key购买 nike

我查询存储在 parse.com 上的消息

let query = PFQuery(className: "Messages")
query.whereKey("sender", equalTo: self.sender)
query.whereKey("receiver", equalTo: self.receiver)
query.orderByAscending("createdAt")
query.findObjectsInBackgroundWithBlock {
(objects: [AnyObject]?, error: NSError?) -> Void in

if error == nil {
var messages = [Int: [AnyObject]]()

if let objects = objects as? [PFObject] {
var i: Int = 0
for object in objects {

var temp = [AnyObject]()

temp.append(object["sender"]!)
temp.append(object["receiver"]!)
temp.append(object.createdAt!)
temp.append(object["message"]!)

messages[i] = temp

i = i+1
}
print("Messages: \(messages)")
}
} else {
print("Error!")
}
}

结果是这样的

Messages: [2: [Phil, Eff, 2015-08-27 15:05:04 +0000, three], 0: [Phil, Eff, 2015-08-27 15:04:57 +0000, one], 1: [Phil, Eff, 2015-08-27 15:05:00 +0000, two]]

似乎 query.orderByAscending("createdAt") 什么也没做?

最佳答案

createdAt 正在做它打算做的事情。这就是您将数据添加到对象的方式。

你需要放弃 int var 并简单地使用:

messages = temp

,因为您正在为对象中的每个对象运行一个循环。每条消息只能等于它的对应消息,没有理由为其指定索引

要将消息添加到数组,只需执行以下操作:

var messagesArray:NSMutableArray = []

..findObjectsInBackgroundWithBlock {
(objects: [AnyObject]?, error: NSError?) -> Void in
if error == nil {

if let object = objects as ? [PFObject] {
for object in objects {
...
messages = temp
self.messagesArray.addObject(messages)
...

关于ios - 通过 createdAt 快速排序解析结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32253407/

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