2012-12-01 3 views
5

내 iOS 앱에서 Parse.com 프레임 워크를 사용하고 있습니다. 앱을 처음 시작하거나 사용자가 로그인하지 않은 경우 PFLogInViewControllerPFSignUpViewController이 화면에 표시됩니다. 사용자가 자신의 계정을 만들면 응용 프로그램에서 항상 같은 것처럼 사용자를 자동으로 만들지 만 사용자 아래에 또 다른 변수 (isPrivate)를 만들어 부울을 호출합니다. 제 질문은 PFQuery을 사용하여 에 isPrivate의 값을 얻으려면 어떻게해야합니까?Parse.com : PFUser currentUser에서 데이터를 쿼리하는 PFQuery

+0

PFUser에는 사용자에게 쿼리 할 수있는 자체 메서드 [PFUser 쿼리]가 있습니다. – Martol1ni

답변

6

쿼리를 사용하면 조건에 맞는 많은 개체를 찾을 수 있습니다. 원하는 객체 (현재 사용자)를 이미 알고있는 경우에는 실제로 적용되지 않습니다. 당신은 당신이 실제로 사용자가 익명 사용자 (자동 사용자가 만든 타입) 여부를 확인하기 위해 별도의 필드를 보관할 필요가없는이 특별한 경우에

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

비록로 currentUser이 비공개 여부를 결정할 수 있습니다 . 시도 :

[PFAnonymousUtils isLinkedWithUser:PFUser.currentUser]; 

을이 모든 인증 유틸 (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

그래서 'username'대신 'name'을 사용하여 PFUser를 쿼리하려고합니다. 어떤 이유로 쿼리가 작동하지 않습니다. 내가 잘못하고있는 게 있을까? 기본적으로 당신과 똑같은 코드를 사용하지만 어떤 결과도 얻지 못합니다. : ( – jsetting32

+0

@ jsetting32 몇 가지 일이있을 수 있으며, 코드 또는 배경 정보가 있으면 그냥 어둡기는하지만 코드의 두 번째 줄에있을 수있는 몇 가지 사항은 Parse.com 데이터 브라우저에 정확한 키가 있는지 확인하고 '이름'이 올바른지 확인하십시오. 즉, 아래의 것과 같습니다. 당신이 설명하는 Parse.com 데이터 브라우저의 키. 다른 부분은 내가 문제의 원인이 될 수있는 코드의 코드 내부 코드의 세 번째 줄입니다 ... (문자 밖으로). –

관련 문제