본문 바로가기
반응형

2023년 이전/iOS12

setNeedLayout 과 layoutIfNeeded 차이 iOS 개발을 시작하고 얼마 지나지 않아 setNeedLayout과 layoutIfNeeded라는 것을 접하게 되었고 그 부분에 대해서 정리를 하게 되었습니다. 우선 위 2개를 비교하기전에 Main Run Loop를 알아 야합니다. 그에 대한 내용은 여기에서 확인 하면 됩니다. 이 main Run Loop는 사용자가 발생시킨 이벤트를 처리하고 다시 main Run Lopp로 권한이 돌아오는 시점을 update Cycle이라고 합니다. Update Cycle Update Cycle을 간단하게 설명하면 layout을 재배치 하거나 view들을 다시 그리는 작업을 진행하는 구간이라 생각하시면 됩니다. main run loop에서 이벤트가 처리되는 과정에서 애니메이션이 동작하거나 크기 및 위치가 변경될 수 도있.. 2020. 6. 28.
UIApplication, Main Run Loop, AppDelegate iOS에 setNeedsLayout 과 layoutIfNeeded 에 대해서 알아보니, 우선 iOS의 Main Run Loop에 대해 알아야 해서 이 부분에 대해서 먼저 알아보았습니다. main 함수는 어딨지? 우선 iOS는 Object-C 기반이기 때문에 C 언어 처럼 main에서 시작이 된다고 합니다. 하지만 이 main은 iOS의 핵심 라이브러리인 UIKit framework에서 관리하기 때문에 개발자들이 직접 이 main함수를 사용할 일은 없습니다. UIApplication UIKit framework는 main 함수를 다루는 과정에서 UIApplicationMain 함수를 실행하고, 이 함수를 통해 UIApplication 객체가 생성이 되는데 이 객체를 통해서 앱의 실행에 대해 부분적으로 관여.. 2020. 6. 28.
iOS에서 underscore(_) 는 무엇이고, unrecognized selector sent to instance 은 왜 발생할까? iOS 개발을 인수인계 받고 열심히 개발을 하고 있을 때였습니다. 한 func의 이름을 매우 일반적인 이름으로 작성을 하고 테스트를 해보았는데, 제가 작성한 func 쪽에서 자꾸 unrecognized selector sent to instance 이 발생하는 현상이 일어 났습니다. 왜 그런가 Code도 살펴보고 데이터도 확인을 해봤지만 문제가 없어서, 문제가 무엇인지 고민을 계속 하였습니다. 그래서 머가 문제일까 고민하다 아 underscore가 문제일까? 해서 underscore를 지우고 동작을 시켜보니 정상동작을 하였습니다. 그럼 무엇이 문제였는지 확인전에 underscore가 무엇인지 알아보겠습니다. swift에서 함수를 만들때 다음과 같이 만듭니다. func greet(person: String.. 2020. 6. 14.
iOS - .xib에서 TableView 와 User Interaction Enabled 회사에서 업무로 ios를 할 기회가 생겨서 ios 개발을 시작하였습니다. swift 흥미진진한 언어 입니다. 만일 자바만 사용했다 했다면 어려웠을 것 같지만 kotlin을 하다 swift를 하니 그렇게 어렵지는 않았습니다. (아마 나중에 대부분의 언어들이 이런 형태를 취하지 않을까 조심스럽게 예상해 봅니다.) 아무튼 이번 글에서는 ViewController가 아닌 곳에서 TableView 만드는 방법과 User Interaction Enabled에 대하여 정리해보려 합니다. .xib에서 TableView 사용하기 이글을 쓰게된 이유는 다음과 같은 상황 때문 입니다. 위와 같이 xib에 Table BottomView 라는 것을 만들고 그 안에 Table을 넣었습니다. 그리고 아래 TableBottomVie.. 2020. 6. 14.
반응형