2016-06-06 12 views
0

Ieinen Freund System in ios mit parsen schnellen

var userInitiated = PFQuery(className: "friends") 
userInitiated.whereKey("friender", equalTo: PFUser.currentUser()!.username!) 

var friendInitiated = PFQuery(className: "friends") 
friendInitiated.whereKey("friendee", equalTo: PFUser.currentUser()!.username!) 

// find friends of user 
let friendQuery = PFQuery.orQueryWithSubqueries([userInitiated, friendInitiated]) 
friendQuery.findObjectsInBackgroundWithBlock ({ (objects:[PFObject]?, error:NSError?) in 
    if error == nil {   
     // cleanup 
     self.friendArray.removeAll(keepCapacity: false) 

     // STEP 2 Hold Recieved Data 
     // find objects that you queried for 
     for object in objects! { 
      self.friendArray.append(object.valueForKey("-----") as! String) 
     } 
    } 
}) 

In der für das Objekt in Objekte Teil einer Abfrage mit Unterabfrage erstellt - ich die Benutzernamen angehängt werden soll, dass ich aus der Abfrage bekam, aber ich möchte nur hinzufügen diejenigen, die nicht die aktuellen Benutzer sind, wie würde ich das tun?

+0

Ich kann nicht verstehen, was Sie meinen. "Ich möchte die Benutzernamen hinzufügen, die ich von der Abfrage erhalten habe, aber ich möchte nur diejenigen hinzufügen, die nicht die aktuellen Benutzer sind. Benutzername" Wenn Sie Freunde erhalten möchten, die nicht dem aktuellen Nutzernamen entsprechen, sollten Sie "notEqual" verwenden. . – ChunTingLin

+0

Ich habe eine Klasse in Parse Freunde genannt. In der Klasse habe ich eine Spalte namens Friender und eine Spalte namens Friendee, ich möchte in der Lage sein, alle Benutzer abzufragen, mit denen der aktuelle Benutzer befreundet ist. – sauly

Antwort

0

A ist der aktuelle Benutzer, B ist einer von A's Freunden. Also, was die (Friender, Friendee) in Ihrer "Freunde" -Klasse?

  1. Beide (A, B), (B, A)
  2. eines von (A, B) und (B, A)

Im ersten Fall können Sie einfach abfragen friender EqualTo currentUser

Im zweiten Fall scheint Ihre Abfrage in Ordnung.