У меня есть некоторый код для приложения для iOS, которое я разрабатываю, и по какой-то причине то, что кажется быстрым и простым заданием, занимает у моего iPhone 4S целую секунду или больше, каждый раз.
контекст такой ... У меня есть всплывающее окно с двумя кнопками ActionSheet, и если пользователь нажимает одну из кнопок, приложение, похоже, останавливается примерно на секунду.Вот код:
-(void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex
{
if (buttonIndex == 0)
{
UIAlertView* newTimerAlertView = [[[UIAlertView alloc] initWithTitle:@"Create New Timer"
message:@"Enter a name for your new indicator"
delegate:self
cancelButtonTitle:@"Cancel"
otherButtonTitles:@"Create", nil] autorelease];
newTimerAlertView.tag = kNewTimer;
newTimerAlertView.alertViewStyle = UIAlertViewStylePlainTextInput;
[newTimerAlertView show];
}
else if (buttonIndex == 1)
{
NSLog(@"ActionSheet button 2 tapped");
UIAlertView* newTallyAlertView = [[[UIAlertView alloc] initWithTitle:@"Create New Tally"
message:@"Enter a name for your new indicator"
delegate:self
cancelButtonTitle:@"Cancel"
otherButtonTitles:@"Create", nil] autorelease];
newTallyAlertView.tag = kNewTally;
newTallyAlertView.alertViewStyle = UIAlertViewStylePlainTextInput;
[newTallyAlertView show];
NSLog(@"end");
}
}
Сосредоточив внимание на второй кнопке для простоты (хотя первая кнопка ведет себя так же), журнал выглядит так:
2012-01-25 20:35:46.330 ...[177:707] ActionSheet button 2 tapped
2012-01-25 20:35:47.194 ...[177:707] end
2012-01-25 20:35:56.154 ...[177:707] ActionSheet button 2 tapped
2012-01-25 20:35:56.180 ...[177:707] end
Обратите внимание, что перваяесли я попробую это сделать, пройдет более секунды, прежде чем завершится выполнение фрагмента кода, но во второй раз (и все последующие) код занимает всего около 30 миллисекунд.
Что-то не так с кодом?или мне просто нужно компенсировать задержку с помощью просмотра хода выполнения?
Спасибо!
РЕДАКТИРОВАТЬ: Это происходит только на устройствах при запуске приложения из XCode... может быть это связано с отладчиком?