2014-04-01 5 views
0

UIView 문서에서는 "응용 프로그램의 사용자 인터페이스에 대한 조작이 주 스레드에서 발생해야합니다"라고 말합니다. 그럼에도 불구하고, 지금까지 테스트에서 백그라운드 스레드에서 setFrame을 사용하여 뷰의 위치를 ​​변경하는 것이 효과가 있다는 것을 발견했습니다.UIView setFrame 스레드 안전성

setFrame이 스레드로부터 안전한지 확인할 수 있습니까?

답변

0

모든 UI 업데이트 코드 (setFrame 포함)는 주 스레드에서 수행해야합니다. 나는이 문제에 대한 답을 이미 알고 있다고 생각한다.

배경 스레드에서 작동하지만, safe을 의미하지는 않는다. 질문에 직접 답하기 위해 Apple은 UIView 코드가 스레드로부터 안전하지 않다고 거의 말합니다.

다른 스레드에서 UI를 업데이트해야하는 경우 Grand Central Dispatch를 사용하여 메인 스레드에서 UI를 호출하십시오.

Here's a kind of similar question @ stackoverflow