2012-12-01 7 views
5

私のiOSアプリケーションでは、Parse.comフレームワークを使用しています。初めてアプリを起動したとき、またはユーザーがログインしていないときはPFLogInViewControllerPFSignUpViewControllerが表示されます。ユーザーが自分のアカウントを作成すると、アプリケーションは自動的にユーザーを作成しますが、ユーザーの下に別の変数(isPrivate)が作成され、ブール値が呼び出されます。私の質問は、PFQueryを使っての値をisPrivateにするにはどうすればいいですか?Parse.com:PFUserの現在のユーザーからのデータを照会するPFQuery

+0

PFUserには、ユーザーを照会するための独自のメソッド[PFUser query]があります。 – Martol1ni

答えて

6

クエリは、条件に一致する多くのオブジェクトを見つけるのに役立ちます。これは、あなたが望むオブジェクト(現在のユーザ)をすでに知っているときは、実際には当てはまりません。あなたはしかし、この特定のケースでは、あなたが実際にユーザーが匿名ユーザー(自動ユーザーによって作成されたタイプ)であるかどうかを判断するために別のフィールドを維持する必要はありません

[PFUser.currentUser[@"isPrivate"] boolValue]; 

であるCurrentUserがプライベートであるかどうかを決定することができます。試してみてください:

[PFAnonymousUtils isLinkedWithUser:PFUser.currentUser]; 

これは、すべての認証utilsの(PFFacebookUtils、PFTwitterUtils、およびPFAnonymousUtils)のために動作します。 isLinkedWithUserは、これらの認証システムに特定のユーザーの資格情報があるかどうかを判断します。

+0

私も別の配列である変数はどうすれば配列でこれを行うのですか? –

+1

特定のオブジェクトから値を取得しようとしている場合、そのプロパティを取得するとNSArrayを取得することができます(NSArray * property = myObj [@ "arrayProperty"])そうでなければ、P FQuery isEqualTo。スカラと配列を比較するとスカラーが配列内にあるオブジェクトが返されます(これは、PFInstallationで最も一般的です。ここでは、 "チャネル"配列が "チャネル"と等しいかどうかを確認することによってクラウドコードが "チャネル"のサブスクライバをチェックします)。 –

+0

すべてがうまくいっていますが、[[PFUser.currentUser [@ "Nickname"] stringValue];を試してみてください。コンソールは、 " - [__ NSCFString stringValue]:インスタンスに送信された認識できないセレクタ"を出力します。私は何をやっているのですか? –

6

PFObject、PFUser、およびPFQueryで遊んだ後、私は自分の質問に対する答えを見つけました。 PFUserクラスをクエリするPFQueryを作成する必要があります。クエリをcurrentUser usernameに限定する必要があります。次に、isPrivateの値を要求します。

PFQuery *query= [PFUser query]; 

[query whereKey:@"username" equalTo:[[PFUser currentUser]username]]; 

[query getFirstObjectInBackgroundWithBlock:^(PFObject *object, NSError *error){ 

    BOOL isPrivate = [[object objectForKey:@"isPrivate"]boolValue]; 

}]; 
+0

したがって、私はPFUserを 'username'の代わりに 'name'でクエリしようとしています。何らかの理由で、クエリが機能しません。私が間違っているかもしれない何かがありますか?私は基本的にあなたと同じコードを使用していますが、私は結果を得られません... :( – jsetting32

+0

@ jsetting32起こっていることがいくつかありますし、コードや背景情報があれば、暗いですが、2つ目のコード行では、Parse.comのデータブラウザに正確なキーが存在することを確認し、「名前」が正しいことを確認してください。つまり、以下のようになります。あなたが説明したParse.comのデータブラウザのキー。他の領域は、コードブロック内のコードの第3行目に問題が発生する可能性があることを確認しています...(文字列がない) –

関連する問題