我正在为用户变量设置PFRelation,并且我希望将文本字段中的文本添加为PFRelation。首先我查询输入用户名是否存在,然后我将返回的对象作为PFUser。然后我尝试将PFUser添加到PFRelation以及它崩溃的地方,因为AnyObject无法下载到PFUser / PFObject。我该怎么做呢?
var userQuery = PFUser.query()
userQuery.whereKey("username", equalTo: newUsername.text)
userQuery.findObjectsInBackgroundWithBlock { (objects, error) -> Void in
if error == nil {
for object in objects{
if objects.count > 0 {
var PFRelation = PFUser.currentUser().relationForKey("friends")
var addRelation = object["username"] as PFUser
PFRelation.addObject(addRelation)
PFUser.currentUser().saveInBackgroundWithBlock{
(succeeded: Bool!, error: NSError!) in
if error == nil {
println("newuser added")
}
else {
println(error.userInfo)
}
谢谢!
答案 0 :(得分:0)
根据我的理解,它无法完成,因为PFObject / PFUser就像一个数组。因此,我无法将一个对象转换为数组。我也使用了getFirstObjectInBackgroundWithBlock(),因为它返回一个PFObject而不是AnyObject,不确定是否有所不同。以下是我的工作代码。
var userQuery = PFUser.query()
userQuery.whereKey("username", equalTo: newUsername.text)
userQuery.getFirstObjectInBackgroundWithBlock{ (object, error) -> Void in
if error == nil {
println(object)
var PFRelation = PFUser.currentUser().relationForKey("friends")
var addRelation = object
if addRelation != nil {
PFRelation.addObject(addRelation)
println("new relation added")
}
PFUser.currentUser().saveInBackgroundWithBlock{
(succeeded: Bool!, error: NSError!) in
if error == nil {
println("newuser saved")
}
else {
println(error.userInfo)
}
}
}
else {
println(error)
}
}