본문 바로가기
개발노트/iOS

ios : NSInternalInconsistencyException 에러

by 전지적진영시점 2022. 2. 23.
반응형

Modifications to the layout engine must not be performed from a background thread after it has been accessed from the main thread

 

=

레이아웃 엔진에 대한 수정은 메인 스레드에서 액세스한 후 백그라운드 스레드에서 수행해서는 안 됩니다.

 

로그인을하고 결과를 처리하는 도중 alert 창을 띄웠는데 위 에러를 뱉고 죽었습니당

확인해보니 UI는 메인스레드에서만 변경을 해야하며 백그라운드 스레드에서는 UI변경을 하면 안됩니다! 라고 합니다 ㅎㅎ,,.

 

android 작업할 때 과장님이 알려주셨는데 정확히 안외워놔서 또 실수하고 오늘은 기록으로 남깁니다 ㅎ_ㅎ

 

아래 DispatchQueue.main.async 를 사용하면 손쉽게 해결가능 !

UI변경을 하는 코드를 DispatchQueue 안에 넣어주면 됩니다

                    DispatchQueue.main.async {
                        //code
                    }

 

반응형

댓글