Xcode

· iOS
강의를 듣던 도중 UITextFieldDelegate 에 대해서 정리할 일이 생겼다. 사실 나는 노션으로 자잘한 것까지 다 기록해두지만 다른 사람이 볼 수 있는 블로그에는 조금 더 제대로 공부한 내용을 남기고 싶어서 아껴둔 것들이 많았는데 이 내용은 비교적 기초적인 내용으로 간단하게 집고 넘어가면 좋을 것 같아서 글을 썼다. 시작해보자. 먼저 UIKit에서 많은 오브젝트들이 Delegate 패턴을 사용해서 해당 클래스에 대한 동작을 구현하고 있다. 대표적으로 UITextField나 UITableView 같은 오브젝트들이다. Delegate?Delegate는 '대리자'라는 뜻이다. 즉 무언가를 대신하는 놈 이라는 뜻이다. 그렇다면 뭘 대신할까? UITextFieldDelegate, UITableViewDe..
· iOS
기존에 Flutter로 만들었던 회사 프로젝트를 iOS에서 구현해 보려고 WebView를 사용하던 중 "This method should not be called on the main thread as it may lead to UI unresponsiveness." 이런 에러를 조우했다.. 일단 메세지를 잘 들여다보면 '어떤 메소드가 메인스레드가 아닌 곳에서 호출되었다 또는 메인스레드에서 호출되었어야 하는데 그렇지 못하였다' 류의 문제 같은데 검색을 하다보니 내 생각이 맞았다는 것을 알 수 있었다.. Apple Developer Forum에 있는 답변 및 검색 결과로 내가 직접 시도해 본 방법들인데, 1. Xcode에서 Thread Sanitizer 를 체크하고 build 해본다. 2. Dispatch..
· iOS
회사 프로젝트 분석을 하던도중 lazy 로 선언된 변수를 사용한 것을 보았다. 솔직히 그 당시에 필요한 부분이 아니라서 넘어갔는데, 알고보니 compile 할때 상당히 중요한 부분이어서 기록했었던 것을 공유한다. 정의 A lazy stored property is a propery whose initial value is not calculated until the first time it s used => 처음 사용되기 전까지는 연산이 되지 않는 변수 즉, 미리 이 변수에 대한 내용을 설정해두고, 이 변수를 사용하기 전까지는 설정한 내용들에 대해서 연산이 되지 않는 다는 것. 좀 난해하지만 실제적인 예를 들어보자. 예를 들어서 인스타그램 어플에 있는 스토리보기 같은 기능들을 살펴보면 처음 앱을 이니셜 ..
공부가 밥먹여주더라
'Xcode' 태그의 글 목록