У меня есть вариант следующих кодов, запускаемых пользовательским вводом.
NSLog(@"WHY YOU iOS!!!");
[scanButton setSelected:YES];
[overlayImageView setImage:image];
[overlayView setHidden:YES];
Дело в том, что вышеприведенная процедура выполняется с кажущейся случайной задержкой от пяти секунд до более минуты.
Иногда они вообще не выполняются, за исключением таинственного метода NSLog. Если я устанавливаю точку останова в строке NSLog, она просто выполняется немедленно, и я вижу «ПОЧЕМУ ВЫ... "распечатано в консоли.Тем не менее, даже несмотря на то, что отладчик плавно проходит три строки ниже, без ошибок и предупреждений, эффект следующих трех строк возникает после случайной задержки или бесконечной задержки.В чем дело?Как могло случиться так, что они имеют случайную задержку?
Я подозревал, что часть пользовательского интерфейса Cocoa SDK приостанавливается из-за плохого дизайна моей программы или чего-то еще, но даже во время случайной задержки другие кнопки и функции работают так хорошов то время как эффект setImage происходит внезапно через 47,2 секунды.Что не так с iOS или со мной?
Что меня смущает еще больше, так это то, что описанная выше точная процедура работает без задержек, если параметр изображения (UIImage *) поступает из другого источника.Если это так, мы можем приписать причину проблемы изображению, однако, почему scanButton и overlayView также отвечают с одинаковой задержкой, даже если они не имеют никакого отношения к изображению?Полная загадка для меня.