if([MFMessageComposeViewController canSendText])
{
MFMessageComposeViewController *sms_message_vc = [[MFMessageComposeViewController alloc] init];
sms_message_vc.body = text;
sms_message_vc.recipients = recipients;
sms_message_vc.messageComposeDelegate = self;
[self presentModalViewController:sms_message_vc animated:FALSE];
[[UIApplication sharedApplication] setStatusBarHidden:TRUE];
[sms_message_vc release];
}
これが実行されると、作成ビューが実際に表示されるまでに数秒の遅延があります。これを引き起こしているのは何ですか?また、遅延をなくすにはどうすればよいですか?
編集1:明確化:プロセスがUIをどこにあるかに関係なく数秒間ハングさせるsms_message_vc
ため、作成とivarは役に立ちません。...alloc] init]
編集2:初期化を同時に実行しようとするために(異なる優先順位で)GCDを試しました。助けにはならなかった:
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_LOW, (unsigned long)NULL), ^(void){
sms_message_vc = [[MFMessageComposeViewController alloc] init];
sms_message_vc.messageComposeDelegate = self;
});