UIViewController
에 UITableView
이 있습니다. 나는 그 위에 서브 뷰로 UIView
을 추가한다. 서브 뷰에서 UIButton
중 하나를 누르면 눈에 띄는 지연이 있습니다. 어떻게하면 더 빨리 만들 수 있습니까?단추 누를 때 IBAction이 지연됩니다.
참조 비디오 : http://www.youtube.com/watch?v=KWy6NrZUeqA&feature=youtu.be
- (IBAction)tweetThat:(id)sender {
[MBProgressHUD showHUDAddedTo:self.socialMediaView animated:YES];
dispatch_queue_t queueOne=dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
dispatch_sync(queueOne, ^{
NSString *[email protected]"BLABLABLATweet";
if ([TWTweetComposeViewController canSendTweet])
{
TWTweetComposeViewController *tweetSheet =
[[TWTweetComposeViewController alloc] init];
[tweetSheet setInitialText:tweetBody];
dispatch_async(dispatch_get_main_queue(), ^{
[MBProgressHUD hideHUDForView:self.controllerView animated:YES];
[self presentModalViewController:tweetSheet animated:YES];
});
}
});
}
예, 다음 번에 속도가 빨라진다는 것을 알았습니다. 그러나 MBProgressHUD가 왜 지연됩니까? MBProgressHUD는 메인 스레드에서 가장 먼저 호출되는 반면, TWTweetComposeViewController는 백그라운드 스레드에서 alloc'd 및 init'd입니다. 또한 "시스템 최적화"는 무엇을 의미합니까? –
나는 잘 모르겠다. 나는'dispatch_queue's 자신을 많이 사용하지 않고, 보통'performSelectorOnBackgroundThread'를 세트로 사용하고 메소드의 종류를 잊어 버립니다. 시스템 최적화에 관해서는'TWTweetComposeViewController' 때문에 어떤 지연이 있었는지 말할 수 있습니다. 나는 그것을 고칠 수 있다고 생각하지 않습니다. 애플은해야만한다. –