2016-04-14 8 views
0

Ich arbeite mit Cloud-Code zum ersten Mal und ich versuche, die folgende Funktion aufrufen: „“Aufruf Funktion in Parse Wolke-Code

 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 { 
      } 
     }) 
    } 
} 

Nach der Implementierung der Funktion, die ich erforderlich war hinzufügen auf die Objekt-ID im Parameter, um es auszupacken. jedoch Dadurch lässt mich mit dem Fehler:

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

Was muss ich ändern, um diese Funktion zu nennen?

Antwort

0

Die PFIdResultsBlock entspricht die folgende Unterschrift (AnyObject?, NSError?) -> Void so versuchen, Ihren Code, dies zu ändern:

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

Danke für die Hilfe! – David

+0

Gern geschehen! –

0

Verwenden Sie PFObject? anstelle von AnyObject!.

+0

Ich versuchte PFObject bin aber immer noch den Fehler. Danke für den Vorschlag. – David