2017-01-04 1 views
0

좋아, 그래서 여기에 두통이 시작되고있어 ... 내 사용자가 내 응용 프로그램에 서명하면 나는 이름으로 구문 분석에 대한 새로운 클래스를 만듭니다.클래스 i는 모든 사용자 정보를 저장하며, 사용자 ID가 변경되지 않으므로 사용자는 모든 장치에서 액세스 할 수 있습니다.신속한 사용하여 구문 분석 서버에서 클래스 내에서 objectID를 검색하는 방법

var query = PFQuery(className: "\(PFUser.current()?.objectId!)") // Calling the user class 
    query.getObjectInBackground(withId: "") { (object: PFObject?, error: Error?) in 

     if error != nil { 
      print(error) 

     } else { 

      print(object) 
     } 
    } 

문제점 :이 배열 만이 할 수있는 유일한 방법을 액세서 할 수 있도록하려면 사용하는 것입니다 : 나는 사용자 클래스에 저장하는 것 중 하나는 내 질문에 날 리드 배열 인 내가 UserObjectID 클래스 내에서 objectID를 검색하는 방법을 모르겠다. 내가 유사한 검색을 수행 할 수있는 방법

var query = PFUser.query() 

    query?.findObjectsInBackground { (objects, error) in 

     if let users = objects { 

      for object in users { 

       if let user = object as? PFUser { 

       self.usernames.append(user.username!) 
       self.userids.append(user.objectId!) 

       } 
      } 
     } 
    } 

, 내 개인 된 UserClass 내 모든하며 Object를 찾을 대신 :

나는 내 사용자 목록을 검색하고 배열에 사용자 이름과 ID를 추가 할 수 있습니다 몇 가지 코드를 발견 슈퍼 유저 클래스?

답변

0

각 사용자마다 새 수업을 만드시겠습니까? 당신은 각 행에 1 행을 가진 방대한 양의 테이블로 끝날 것입니다. 배열을 현재 _User 테이블의 열로 추가하거나 새 테이블을 만들고 모든 사용자 배열을 포인터로 저장하는 것이 가장 좋습니다.

는 당신이 그 클래스를 조회 할 수 있어야 할 경우 말했다되는 당신의 새로운 테이블은 사용자의 OBJECTID에서 이름 :

var userId: String = "" 

let userClassName = PFUser.current()!.objectId! 

let query = PFQuery(className: userClassName) 
// as there is only 1 row get the first 
query.getFirstObjectInBackground { (object, error) in 
    if error != nil || object == nil { 
     print("nothing here try again") 
    } else { 
     userId = object?.objectId 
    } 
} 

당신은 많은 사용자와 포인터가있는 테이블이있는 경우 다음 줄을 지침으로 사용하십시오.

let userObjectId = PFUser.current()!.objectId! 
query.whereKey("yourPointerName", equalTo: PFObject(outDataWithClassName: "theClassYouWantToQuery", objectId: userObjectId))