Swift:Parse数据库不更新对象

时间:2017-04-20 18:10:40

标签: swift database parse-platform

我正在构建一个应用程序,我需要与数据库建立连接。我正在使用Parse(如果这很重要的话,用back4app托管它)。 我已经有了很多Parse的经验,所以我有这个问题很奇怪。

所以我需要更新一个对象,但事实并非如此。有人可以帮帮我吗?我已经在我的代码中添加了一个打印,它确实打印了,所以你知道应用程序在那里得到了,但奇怪的是,它不会更新对象。

提前致谢!

编辑:代码有效,因为当我在模拟器中运行应用程序时它会更新,但是当我在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()
        }
    }
}

1 个答案:

答案 0 :(得分:0)

我修复了它并将在此处发布解决方案,以防任何人犯同样的错误。

所以我用我的模拟器创建了消息对象,解析自动将每个人的写访问设置为false。仅对于创建消息的设备,它被设置为true。这就是为什么我只能用模拟器更新到对象的原因。

因此,在数据库中将每个人的写访问权改为true。