백그라운드 비동기 호출을 사용하는 일부 객체에 대해 구문 분석을 쿼리하고 있습니다. 그러나 쿼리가 진행되는 동안 앱이 멈 춥니 다. 나는 그것과 상호 작용할 수 없다. 쿼리가 완료되고 개체가로드되면 앱이 멈 춥니 다. 비동기 작업이기 때문에 쿼리 중에 앱이 응답해야한다는 것을 알고 있습니다.비동기 쿼리 구문 분석 중에 iOS 앱이 멈 춥니 다.
예를 들어 앱에서 쿼리가 시작될 때 -> 쿼리 중에 탐색 바를 뒤로 밀면 아무 일도 일어나지 않습니다. - 쿼리가 끝나고 내 개체가 나타남 -> 응답으로 루트 컨트롤러에 앱이 팝업됩니다. 이전 터치로
쿼리 후에 앱이 고정되지 않았습니다. 그것은 정상적으로 응답합니다. 문제가 내 배치 위치인지, 파싱 할 때 전화가 느려지는지 확실하지 않습니다. 어떤 도움을 주시면 감사하겠습니다 !!
관련 코드 :
-(void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
//Loads the users to be rated
[self loadNewUsersAndAd];
}
-(void)loadNewUsersAndAd{
self.usersQuery = [PFQuery queryWithClassName:@"UserObjects"];
[self.usersQuery findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
self.queryingForUsers = YES;
if (error) {
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Sorry!" message:@"It looks like we couldn't update your current games! Make sure you're connected to the internet." delegate:self cancelButtonTitle:@"OK" otherButtonTitles: nil];
[alertView show];
self.queryingForUsers = NO;
}
else
{
//The query was successful
self.usersArray = objects;
[self loadNewImages];
self.queryingForUsers = NO;
}
}];
}
'loadNewImages'는 무엇을합니까? UI 요소를 업데이트합니까? 그럴 경우 메인 큐로 보내야합니다. – Paulw11
쿼리는 파스와 연관된 세 개의 그림이있는 구문 분석에서 userObject를로드합니다. userObject가로드되면 loadNewImages를 호출하여 연관된 그림으로 UI를 업데이트합니다. 이 UI 업데이트를 쿼리에 포함 시키는데 문제가 있습니까? 만약 그렇다면 어떻게 다른 일을 할 수 있습니까? 지금까지 나를 cluing 주셔서 감사합니다! –