0
parse.com을 사용하여 음식 개체 데이터베이스를 보유하고 있으며 모든 음식을 포함하는 배열을 반환하려고합니다.배열을 반환 할 때 호환되지 않는 블록 포인터 유형이 필요합니까?
- (NSArray*) allFoods {
NSMutableArray *foodArr = [NSMutableArray array];
PFQuery * foodQuery = [PFQuery queryWithClassName:@"Food"];
foodQuery.limit = 5000;
[foodQuery findObjectsInBackgroundWithBlock:^(NSArray * foods, NSError * error) {
for (PFObject *foodRaw in foods) {
MenuItem *food = [[MenuItem alloc] initWithName:[foodRaw valueForKey:@"name"] andURL:nil];
[foodArr addObject:food];
}
return foodArr;
}];
}
그러나 블록은 무효를 기대하며 오류를 발생시키지 않고 return 문을 포함 할 수 없습니다.
Incompatible block pointer types sending 'NSMutableArray *(^)(NSArray *__strong, NSError *__strong)' to parameter of type 'PFArrayResultBlock' (aka 'void (^)(NSArray *__strong, NSError *__strong)')
을 새로 채워진 데이터로해야 할 일. 이 질문/답변을 확인하십시오. http://stackoverflow.com/questions/15070568/how-to-return-data-from-background-thread – Yan