앱 인터페이스에 약 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