object - 创建对象时获取对象id(Parse.com)

标签 object swift parse-platform

我想在创建下面的对象时将字符串值设置为对象 ID。目前它打印“无”。有任何想法吗?谢谢

    var date:NSDate = currentDatePicker.date
    var DOB:NSDate = DOBPicker.date

    var user = PFUser.currentUser()

    var report = PFObject(className:"reports")
    report["name"] = nameTextField.text
    report["DOB"] = DOB
    report["date"] = date
    report["user"] = user
    report.saveInBackground()

    var ojId = report.objectId
    println(ojId)

最佳答案

saveInBackground 是一个异步方法,所以它不会等待。没有设置id的原因是实体还没有保存。

我认为您应该使用 saveInBackgroundWithBlock: 并在 block 中检索对象 ID 形式(在保存实体后执行):

var report = PFObject(className:"reports")
report["name"] = nameTextField.text
report["DOB"] = DOB
report["date"] = date
report["user"] = user
report.saveInBackgroundWithBlock { (success, error) -> Void in
    if success {
        var ojId = report.objectId
        println(ojId)
    }
}

或者也可能是同步执行的保存 - 但不要在主线程中使用它:

report.save()
var ojId = report.objectId
println(ojId)

关于object - 创建对象时获取对象id(Parse.com),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26931195/

相关文章:

ios - XCode-iOS : Can't resolve conflict between CocoaLibSpotify and Parse framework

swift - 自定义对象上的 NSPredicate

Javascript 和 jQuery 根据自定义属性将数组推送到对象

java - 在Java中,如何使用循环实例化新对象,将它们存储在数组中,然后使用它们?

ios - 无法解析 "Ambiguous use of subscript"

ios - 如何使用 Parse 查询 User 中的 Facebook 好友?

javascript - Array 中的对象,如何解决这个问题?

uitableview - 更改 UITableViewCell 文本字体

ios - 为什么网页 View 会崩溃

android - 使用 Parse Cloud 插入镜像对象