2016-09-10 8 views
0

2つのクエリメソッドを使用して解析データベースからユーザーデータを取得できません。私はすべての最新のユーザーデータを非常に簡単に取得できます。ただし、他のユーザーからデータを正常に取得できないようです。私はそれが私が見ている非常に簡単な修正だと感じているが、私はしばらくの間、私のコードで、まだ各変数のnilを返すようにしてきた。クエリを使用して解析データベースからユーザーデータを取得できません。

まずクエリ方法:

let userQuery = PFQuery(className: "User") 
     userQuery.whereKey("username", equalTo: username) 
    userQuery.findObjectsInBackgroundWithBlock { (users, error) -> Void in 
     if error == nil { 
     if let objects = users { 
      for object in objects { 
       if let user = object as? PFUser { 

        self.userBio = user.objectForKey("bio") as! String 
        if user.objectForKey("icon") != nil { 
         self.userIcon = user.objectForKey("icon") as! PFFile 
        } 
        if user.objectForKey("header") != nil { 
        self.headerFile = user.objectForKey("header") as! PFFile 
        } 
      } 
     } 
    } 
    } 
} 

2番目のクエリ方法:任意の助けを事前に

let userQuery = PFUser.query() 
     userQuery?.whereKey("username", equalTo: username) 
    userQuery!.findObjectsInBackgroundWithBlock { (users, error) -> Void in 
     if error == nil { 
     if let objects = users { 
      for object in objects { 
       if let user = object as? PFUser { 

        self.userBio = user.objectForKey("bio") as! String 
        if user.objectForKey("icon") != nil { 
         self.userIcon = user.objectForKey("icon") as! PFFile 
        } 
        if user.objectForKey("header") != nil { 
        self.headerFile = user.objectForKey("header") as! PFFile 
        } 
      } 
     } 
    } 
    } 
} 

ありがとう!

+0

私はUserクラスのセキュリティがデフォルトで違うように設定されている可能性があると思います...変更する必要があります。解析ダッシュボードで行うことができます –

+0

@JVSは "_User"を使用して動作させました!ありがとう男 – boppa

+0

私はあなたの記事の下に答えとして私のコメントを入れます。あなたが好きなら、それを受け入れてください。 – JVS

答えて

1
let userQuery = PFQuery(className: "User") 

はParse.comのユーザクラス、特別なクラスであるので

let userQuery = PFQuery(className: "_User") 

に変更する必要があります。その名前はデフォルトでアンダースコアで綴られています。

関連する問題