【发布时间】:2017-04-20 18:10:39
【问题描述】:
我正在构建一个应用程序,我需要一个与数据库的连接。我为此使用 Parse(如果这很重要,则使用 back4app 托管它)。 我已经有很多 Parse 的经验,所以我遇到这个问题很奇怪。
所以我需要更新一个对象,但它没有。有人可以帮我吗?我在我的代码中添加了一个 print 并且它确实打印了,所以你知道应用程序在那里,但奇怪的是,它并没有更新对象。
提前致谢!
编辑:代码有效,因为当我在模拟器中运行应用程序时,它会更新,但当我在 iPhone 上运行它时,它不会?
func makeMessagesSeen() {
let query = PFQuery(className: "Chat")
query.whereKey("senderID", equalTo: otherID)
query.whereKey("receiverID", equalTo: yourID)
query.order(byDescending: "createdAt")
var objects = try! query.findObjects()
for i in objects {
if (objects[0].objectId == i.objectId) {
print("this will print , idk why code beneath this doesn't work?")
i["messageSeen"] = "last seen"
i.saveInBackground()
}
else {
i["messageSeen"] = "seen"
i.saveInBackground()
}
}
}
【问题讨论】:
-
您是否尝试打印
objects[0]和i?它们可能为 NULL。另外,你确定query.findObjects()没有阻塞你的主线程吗? -
它不是NULL,它也没有阻塞主线程。我找到了解决方案,这是我的一个严重错误,但我将解决方案发布为答案。感谢您的回复!
标签: swift database parse-platform