UIAlertView требует времени, чтобы показать

Я хочу отобразить представление предупреждения при нажатии кнопки. Он отображается, но для отображения на экране требуется слишком много времени. вот функция, которую я вызываю при нажатии кнопки:

-(void)saveAndClose:(id)sender { waitForOCR=[[UIAlertView alloc] initWithTitle:@"Processing..." message:@"Please wait." delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:nil, nil]; waitForOCR.delegate=self; [waitForOCR show]; if(!isCancelled){ NSMutableArray *dateSaved=[[NSMutableArray alloc] initWithArray:[[NSUserDefaults standardUserDefaults] arrayForKey:@"dateCaptured"]]; NSDateFormatter *dateText=[[NSDateFormatter alloc] init]; [dateText setDateFormat:@"yyyy-MM-dd"]; NSDate *now=[NSDate date]; NSString *dateValue=[dateText stringFromDate:now]; [dateSaved addObject:dateValue]; NSMutableArray *timeSaved=[[NSMutableArray alloc] initWithArray:[[NSUserDefaults standardUserDefaults] arrayForKey:@"timeCaptured"]]; NSDateFormatter *timeText=[[NSDateFormatter alloc] init]; [timeText setDateFormat:@"HH:mm:ss"]; NSString *timeValue=[timeText stringFromDate:now]; [timeSaved addObject:timeValue]; [[NSUserDefaults standardUserDefaults] setObject:dateSaved forKey:@"dateCaptured"]; [[NSUserDefaults standardUserDefaults] setObject:timeSaved forKey:@"timeCaptured"]; [dateSaved release]; dateSaved=nil; [timeSaved release]; timeSaved=nil; int counter = [[NSUserDefaults standardUserDefaults] integerForKey:@"LaunchesCounter"]; counter++; [[NSUserDefaults standardUserDefaults] setInteger:counter forKey:@"LaunchesCounter"]; NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsDirectory = [paths objectAtIndex:0]; NSString *localFilePath = [documentsDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"image%d.png",counter]]; NSData *thedata = [[NSData alloc] initWithData:UIImagePNGRepresentation(imageToCrop)]; [thedata writeToFile:localFilePath atomically:YES]; [thedata release]; [NSThread detachNewThreadSelector:@selector(processOcrAt:) toTarget:self withObject:[self.imageCropper getCroppedImage]]; } else{ isCancelled=FALSE; } } 

Как вы можете видеть, я показываю UIAlerView в начале функции. Но это слишком долго, чтобы отображаться. Любое предложение исправить эту проблему? С уважением, Idrees

2 Solutions collect form web for “UIAlertView требует времени, чтобы показать”

Предупреждение будет отображаться только в конце текущего цикла цикла, поэтому все, что вы делаете сразу после «показания», действительно произойдет раньше. Обратите внимание, что было бы неплохо переместить этот код в фоновом режиме в любом случае, поскольку в противном случае он заблокирует основной поток и сделает приложение в лучшем случае невосприимчивым.

Переместить [alertview show]; в главную очередь. Это полезно, если вы намерены отображать предупреждение от асинхронного обратного вызова.

 dispatch_async(dispatch_get_main_queue(), ^{ [alertview show]; }); 
  • Клавиатура теряет способность скрывать «если я использую UIAlertView»
  • Клавиатура появляется после того, как UIAlertView уволен на iOS 8.3 для iPad
  • Как я могу отобразить всплывающее сообщение в Swift, которое исчезает через 3 секунды или может быть отменено пользователем немедленно?
  • iOS: CLDocationManager's didEnterRegion не вызывается
  • Как реагировать на UIImagePickerController Сгенерированный UIAlertView
  • множественная проблема с UIAlertView
  • В ios 8.3 и более поздних версиях UIAlertView вызывает клавиатуруWillShow & keyboardWillHide, вызываемую дважды
  • Вращение UIAlertView
  • iOS Несовместимые типы указателей блоков
  • Написание обработчика для UIAlertAction
  • Как вы показываете предупреждение, если оно не подключено к Интернету? IOS
  • Interesting Posts

    Горизонтальное UICollectionView с UIRefreshControl

    Как я могу заполнить UITableView данными из запроса parse.com после того, как он будет выполняться в фоновом режиме?

    Swift: анимация UIBezierPath для инсульта из центра

    Быстрый переход в UIWebView и WKWebView

    (iOS MPMusicPlayerNotification), как получать уведомления, когда приложение находится в фоновом режиме

    Клиент iOS: у меня есть пользовательский знак в Active Directory, но как получить доступ к API-интерфейсу MS Graph?

    Удалить пустые строки из проекта Xcode

    проверьте, загружен ли просмотр во время выполнения

    Второй просмотр UIPageViewController идет пустым

    Попытка сохранить изображение в фотоальбом с пользовательским именем в iOS

    Основные данные соответствуют многим отношениям со списком

    Отредактируйте UIImage в UIImageView

    ПрикосновениеБеган не отвечает

    Как получить электронную почту пользователя с помощью Facebook?

    Компилятор Swift игнорирует неиспользуемые функции?

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.