5

私の iOS アプリでは、Parse.com フレームワークを使用しています。アプリが初めて起動されたとき、またはユーザーがサインインしていないとき、PFLogInViewControllerPFSignUpViewControllerがビューに表示されます。ユーザーが自分のアカウントを作成すると、アプリケーションはいつものように自動的にユーザーを作成しますがisPrivate、ブール値を呼び出す と呼ばれる別の変数をユーザーの下に作成します。PFQuery私の質問は、 を使用して の値を取得するisPrivateにはどうすればよいcurrentUserですか?

4

2 に答える 2

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];

}];
于 2012-12-01T22:38:01.650 に答える
6

クエリを実行すると、条件に一致する多くのオブジェクトを見つけることができます。必要なオブジェクト (現在のユーザー) が既にわかっている場合、これは実際には当てはまりません。currentUser がプライベートかどうかを決定できます

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

ただし、この特定のケースでは、ユーザーが匿名ユーザー (自動ユーザーによって作成されたタイプ) であるかどうかを判断するために別のフィールドを保持する必要はありません。試す:

[PFAnonymousUtils isLinkedWithUser:PFUser.currentUser];

これは、すべての認証ユーティリティ (PFFacebookUtils、PFTwitterUtils、PFAnonymousUtils) で機能します。isLinkedWithUser は、これらの認証システムが特定のユーザーの資格情報を持っているかどうかを判断します。

于 2012-12-02T23:51:55.267 に答える