我有一個應用程序的界面上約10個對象。這些對象基本上是一個按鈕,它具有顯示哪個按鈕在給定時間內處於活動狀態的輝光。當選擇一個按鈕時,其發光被打開並且所有其他按鈕的發光被關閉。iOS - 塊緩慢地獄
要打開和關閉的光暈,我有這個
[buttons enumerateObjectsWithOptions:NSEnumerationConcurrent
usingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
if (obj == sender)
[(myButtonClass *)obj showGlow];
else {
[(myButtonClass *)obj hideGlow];
}
}];
,但我不得不改變這個
[buttons enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
if (obj == sender)
[(myButtonClass *)obj showGlow];
else {
[(myButtonClass *)obj hideGlow];
}
}];
去除枚舉的並行部分。問題在於,對於某些按鈕而言,輝光需要5秒鐘才能打開或關閉,但只能使用相同的按鈕。我的印象是,他們在一個正在處理的隊列順序(????? !!!)
showGlow/hideGlow方法基本上是兩行:設置變量並設置隱藏屬性輝光imageView打開和關閉。所以,這些是所有按鈕的快速方法。
我不明白的是爲什麼問題發生在某些按鈕上,而不是其他人,以及爲什麼塊需要這麼長時間來處理應用程序基本閒置時。
任何線索?謝謝。
感謝。我忘了UI更新的東西不得不在主線程中發生......謝謝。 – SpaceDog
@RubberDuck歡迎您:) – iska