Apple Developer
-
CALayer 그리고 View와의 관계iOS 2021. 1. 31. 17:58
개인적으로 공부하며 정리하는 블로그 입니다. 오류나 부족한 부분이 있을 수 있으니 감안하여 봐주시고 아낌없는 조언 감사드립니다 :D CA, Core Animation CALayer의 CA는 Core Animation의 prefix입니다. CALayer를 알기 전에 먼저 Core Animation에 대해 알아보겠습니다. Core Animation Programming Guide를 보면 Core Animation의 역할과 목적에 대해 나와있습니다. Core Animation provides a general purpose system for animating views and other visual elements of your app. Core Animation is not a replacement for..
-
Intrinsic Content Size, Content Hugging, Content Compression ResistanceiOS 2021. 1. 24. 14:44
개인적으로 공부하며 정리하는 블로그 입니다. 오류나 부족한 부분이 있을 수 있으니 감안하여 봐주시고 아낌없는 조언 감사드립니다 :D Intrinsic Content Size Intrinsic Content Size란 View의 콘텐츠(내용물)를 고려한 자연스러운 크기를 의미합니다. 하지만 모든 뷰가 Intrinsic Content Size를 갖고 있는 건 아닙니다. 그냥 UIView 같은 경우엔 기본적으로 내용이 없는 빈 뷰이기 때문에 intrinsic content size를 갖지 않습니다. 반면, UIButton 같은 경우 title을 포함해 약간의 패딩까지 가지고 있습니다. 표로 간단히 정리해보죠. View Intrinsic Content Size UIView, NSView Intrinsic Con..
-
GCD, DispatchiOS 2021. 1. 19. 13:37
개인적으로 공부하며 정리하는 블로그 입니다. 오류나 부족한 부분이 있을 수 있으니 감안하여 봐주시고 아낌없는 조언 감사드립니다 :D [한 줄 요약] GCD - 작업을 병렬적으로 처리하기 위해 애플이 제공해주는 API. C기반 메커니즘의 저수준 API로 스레드를 생성하고 할당하는 등의 스레드 관리를 대신해준다. # sync vs async, Queue에 작업을 추가하는 방식 sync - 작업을 추가하고 작업이 끝날 때까지 기다린다. async - 작업을 추가하고 바로 넘어간다. # serial vs concurrent, Queue 안의 작업을 처리하는 방식 serial - 작업을 하나씩 꺼내서 처리한다. concurrent - 작업을 꺼낸 뒤 기다리지 않고 바로 이어서 다음 작업을 꺼낸다. * main 큐..
-
[개발자 문서읽기] UIApplicationMain(::::)iOS 2021. 1. 16. 16:43
개인적으로 공부하며 정리하는 블로그 입니다. 오류나 부족한 부분이 있을 수 있으니 감안하여 봐주시고 아낌없는 조언 감사드립니다 :D UIApplicationMain(::::) 는 iOS 앱이 시작하기 위한 핵심 메소드 입니다. 말 그대로 앱이 되면 UIApplication 객체와 Delegate 객체를 만들고 info.plist에서 필요한 nib file을 로드하고 메인 이벤트 루프를 실행시킵니다. swift 5.3 부터는 @main , 그 이전엔 @UIApplication 이라는 attribute를 사용하게 되는데요, 앱이 처음 실행되면 시스템은 이 attribute를 찾아서 UIApplicationMain(::::)를 호출하고 앱을 실행합니다. 따라서 이 attribute가 없다면 아래와 같이 시작 ..
-
[개발자 문서읽기] Responding to the Launch of Your AppiOS 2021. 1. 16. 15:54
개인적으로 공부하며 정리하는 블로그 입니다. 오류나 부족한 부분이 있을 수 있으니 감안하여 봐주시고 아낌없는 조언 감사드립니다 :D Initialize your app’s data structures, prepare your app to run, and respond to any launch-time requests from the system. 앱을 실행하면 어떤 일들이 일어날까요? 관련 문서를 읽으면서 정리해봤습니다. 아이폰 홈에서 앱을 클릭하면 스플래시 화면이 보이면서 앱이 시작하게 되죠? 스플래시 화면(런치 스크린)은 "앱이 잘 실행은 됐어요. 준비될 때까지 조금만 기다려주세요" 라는 의미로 보여주는 화면입니다. 그 런치스크린이 보여지는 동안에 이루어지는 작업들에 관한 이야기 입니다. 이 문서를 ..
-
[개발자 문서읽기] UIApplicationiOS 2021. 1. 16. 11:40
공부하며 번역한 내용입니다. 오역과 의역이 있을 수 있습니다. 정확한 내용은 원문을 참고해주세요 :) : iOS에서 실행되는 앱을 위한 중앙 집중식 제어 및 조정점 class UIApplication : UIResponder Overview 모든 iOS앱은 반드시 하나의 UIApplication instance를 갖고 있습니다. (아주 드물게 subclass가 있을 수 있습니다.) 앱이 시작할 때 시스템은 UIApplicationMain(::::) 를 호출합니다. 이 함수는 shared로 접근할 수 있는 싱글턴 UIApplication 객체를 만듭니다. application 객체는 들어오는 사용자 이벤트의 초기 라우팅을 처리합니다. control 객체들에 의해 전달된 액션 메세지들을 적절한 객체들에게 전..
-
[개발자 문서읽기] UIView - 1iOS 2021. 1. 13. 09:52
공부하며 번역한 내용입니다. 오역과 의역이 있을 수 있습니다. 정확한 내용은 원문을 참고해주세요 :) UIView 스크린 위의 사각형 영역을 관리하는 객체 class UIView : UIResponder Overview View는 앱 UI의 기본 요소이며 UIView 클래스는 모든 뷰의 공통된 행동을 정의합니다. 하나의 뷰 객체는 사각 영역 안에 content를 render하고 content의 인터렉션을 관리합니다. UIView는 인스턴스화 하고 고정된 배경색을 나타낼 수 있는 구체적인 클래스 입니다. 더 복잡한 content를 그리기 위해 subclass 할 수도 있습니다. 앱에서 일반적으로 볼 수 있는 labels, images, buttons 등 다른 인터페이스 요소를 나타내려면 직접 정의하기 보다..
-
[개발자 문서읽기] About App Development with UIKitiOS 2020. 9. 16. 16:01
의역과 오역이 있을 수 있습니다. 자세한 내용은 원문 About App Development with UIKit 을 참고해주세요 :) UIKit Overview UIKit 프레임워크는 iOS나 tvOS를 빌드하는 데 필요한 핵심 오브젝트들(Core Objects)을 제공합니다. 이러한 오브젝트들을 이용해 화면에 콘텐츠를 보여주고 해당 콘텐츠와 상호작용하며 시스템과의 상호작용을 관리할 수 있습니다. 앱은 기본 동작을 위해 UIKit에 의존하고 특정 요구에 맞게 커스텀 할 수 있는 다양한 방법을 제공합니다. Xcode 는 아래와 같은 기본 템플릿을 제공하고 즉시 실행시켜 볼 수 있습니다. 앱을 빌드시키면 Xcode는 source files을 컴파일하고 프로젝트를 위한 app bundle을 하나 만듭니다. A..