我有一個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是在後臺線程上分配和初始化的。另外,「系統優化」是什麼意思? – 2012-08-07 16:07:47
我不確定。我自己並沒有用'dispatch_queue'做很多事情,當我這樣做時,我通常使用'performSelectorOnBackgroundThread'作爲一個集合,並且忘記了一種方法。至於系統優化,我說什麼滯後是因爲TWTweetComposeViewController我不認爲你可以修復它。蘋果必須。 – 2012-08-07 16:14:47