[英]Get the object id when the object is created (Parse.com)
我想在下面创建对象时将字符串值设置为对象id。 目前它打印“nil”。 有任何想法吗? 谢谢
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:
并检索块中的对象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)
}
}
或者也可以save
,这是同步执行的 - 但不要使用主线程中的那个:
report.save()
var ojId = report.objectId
println(ojId)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.