PFQuery에서 얻은 객체 배열을 로컬 NSArray에 저장하려고합니다. 나는 내부에서 그것을하려고 노력하고있어! (! error) 블록이 끝나면 블록을 떠나지 않으므로 일단 내 배열에 값을 넣는다.쿼리 결과를 로컬 NSArray에 저장하는 방법은 무엇입니까?
@interface InstallersDirectoryTVC()
@property (nonatomic,strong) NSArray *installerName;
@property (nonatomic, strong) NSArray *supervisors;
@end
//more code goes here
- (void)viewDidLoad
{
[super viewDidLoad];
PFQuery *query = [PFQuery queryWithClassName:@"InstallersInfo"];
[query whereKey:@"supervisor" equalTo:@"yes"];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
if (!error) {
for (PFObject *object in objects) {
self.supervisors = [objects valueForKey:@"supervisor"];
}
}else {
NSLog(@"Error, %@ %@",error,[error userInfo]);
}
}];
모든 것이 self.supervisors.count 또는 NSLog와 같이 블록 내부에서 작동하지만 블록을 전혀 남겨 두지 않습니다. 그 값들을 어떻게 얻을 수 있는지 말해 주시겠습니까?
감사합니다.
관리자가 부울 유형입니까? nsmutablearray에서 객체 실행 시간을 추가하십시오. 따라서 변경하십시오. – ilesh
문제는 단지'supervisors' 배열을 초기화하지 않았기 때문입니다. 그것을 사용하기 전에 '초기화'하십시오. –
편집 : 위의 설명이 맞습니다. NSMutableArray를 사용하고 블록 이전에 초기화해야합니다. 또한 배열의 각 PFObject에 대해 supervisor 변수에 할당하는 것처럼 보입니다. addObject 대신 배열에 추가해야합니다. –