2016-04-14 2 views
0

Я работаю с облаком кода в первый раз и пытаюсь вызвать следующую функцию: «!»Вызов функции в облаке Разбор кодекса

 let friendRequest: PFObject = self.friendRequestsToCurrentUser[sender.tag] as PFObject 
     let fromUser: PFUser = friendRequest[FriendRequestKeyFrom] as PFUser 
     //call the cloud code function that adds the current user to the user who sent the request and pass in the friendRequest id as a parameter 
     PFCloud.callFunctionInBackground("addFriendToFriendsRelation", withParameters: ["friendRequest": friendRequest.objectId]) { (object:AnyObject!, error: NSError!) -> Void in 
     let friendsRelation: PFRelation = PFUser.currentUser()!.relationForKey("friends") 
     friendsRelation.addObject(fromUser) 
      self.currentUser.saveInBackgroundWithBlock({ (succeeded: Bool, error: NSError!) -> Void in 
       if succeeded { 
       } else { 
      } 
     }) 
    } 
} 

После реализации функции я был обязан добавить к объекту в параметре, чтобы развернуть его. Однако, делая это оставляет меня с ошибкой:

Cannot convert value of type '(AnyObject!, NSError!) -> Void' to expected argument type 'PFIdResultsBlock?'

Что я должен изменить, чтобы вызвать эту функцию?

ответ

0

PFIdResultsBlock соответствует следующей сигнатуре (AnyObject?, NSError?) -> Void поэтому постарайтесь изменить свой код на этот:

let friendRequest: PFObject = self.friendRequestsToCurrentUser[sender.tag] as PFObject 
let fromUser: PFUser = friendRequest[FriendRequestKeyFrom] as PFUser 

//call the cloud code function that adds the current user to the user who sent the request and pass in the friendRequest id as a parameter 
PFCloud.callFunctionInBackground("addFriendToFriendsRelation", withParameters: ["friendRequest": friendRequest.objectId]) { (object:AnyObject?, error: NSError?) -> Void in 
    let friendsRelation: PFRelation = PFUser.currentUser()!.relationForKey("friends") 
    friendsRelation.addObject(fromUser) 
    self.currentUser.saveInBackgroundWithBlock({ (succeeded: Bool, error: NSError!) -> Void in 
     if succeeded { 

     } else { 

     } 
    }) 
} 
+0

Спасибо за помощь! – David

+0

Добро пожаловать! –

0

Попробуйте использовать PFObject? вместо AnyObject!.

+0

Я попытался PFObject, но я все еще получаю ошибку. Спасибо за предложение. – David

Смежные вопросы