0
我试着通过递减场“createdAt”检索选择顺序的最后一个对象: 在SQL是这样的:解析:检索的最后一个对象
SELECT *
FROM Message
ORDER BY createdAt DESC
LIMIT 1
我试试这个,但不起作用。其结果是第一个对象:
let query = PFQuery(className: "Message")
query.orderByDescending("createdAt")
query.limit = 1
var lastMessage = "..."
if let objects = query.findObjects() as [AnyObject]?
{
for object in objects
{
//Execute one time only and don't return the row that i want
lastMessage = object["Text"] as! String
}
}
有了这个懒惰的代码,我得到我想要的东西,但我有循环的所有对象:
let query = PFQuery(className: "Message")
var lastMessage = "..."
if let objects = query.findObjects() as [AnyObject]?
{
for object in objects
{
//Execute many times and return the row that i want int the last
lastMessage = object["Text"] as! Strin
}
}
但如果您需要同步数据? –
您需要在后台执行所有查询,以使它们不会出现在* main *线程中。除此之外,主线程控制应用程序的UI,并且如果通过执行长时间运行的同步操作(如查询)阻止主线程,则UI将无响应,直到查询完成。如果需要使用Parse中的数据更新UI,则可以处理完成块中的所有内容。如果您有其他需要同步操作的逻辑,请使用'NSNotifications'来构造流程 – Russell