사용자가 이미 앱에 등록 된 친구가 있는지 확인하는 방법을 만들고 있습니다.pfcloud 함수 내 부울 반환
-(BOOL)hasFriend:(NSArray*)phoneNums{
[PFCloud callFunctionInBackground:@"checkUsers"
withParameters:@{@"array": phoneNums}
block:^(id success, NSError *error) {
if(success){
return YES;
}
else{
return NO;
}];
}
나는 또한이 시도했습니다 : 나는 아래의 코드를 실행할 때 Incompatible block pointer types sending 'BOOL (^)(__strong id, NSError *__strong)' to parameter of type 'PFIdResultBlock' (aka 'void (^)(__strong id, NSError *__strong)')
이것은 :이 블록 내에서 반환하기 위해 노력하고있어 그러나, 나는 말 컴파일러 오류가
-(BOOL)hasFriend:(NSArray*)phoneNums{
__block bool hasFriend = nil;
[PFCloud callFunctionInBackground:@"checkUsers"
withParameters:@{@"array": phoneNums}
block:^(id success, NSError *error) {
if(success){
hasFriend = YES;
NSLog(@"found a florin user!");
}
else{
hasFriend = NO;
}
}
}];
NSParameterAssert(hasFriend);
return hasFriend;
}
그러나 이것은 절대로 NSParameterAssert
을 전달하지 않습니다.
첫 번째 방법은 반환 유형이 void 인 블록을 생성하지만 BOOL을 반환하려고하기 때문에 충돌이 발생합니다. 나는 NSParameterAssert 함수에 익숙하지 않지만'Assertions는 조건을 평가하고 조건이 false로 평가되면 현재 스레드에 대한 어설 션 처리기를 호출합니다. '그래서'hasFriend'는'NO'이고 NSParameterAssert 함수는이 값을 false로 처리하고 어설 션 처리기를 호출하려고합니다. 이 기능을 사용하는 특별한 이유가 있습니까? – AMI289