Apple(35)
-
Swift 기본 가이드라인 - part 1
1. fundamental(기초) 사용 시점의 명확성(Clarity as the point of use) -> 가장 중요한 목표 - 메소드, 속성(property) 등의 엔터티는 한 번만 선언되지만 반복적으로 사용 => API를 명확하고 간결하게 사용하도록 설계해라! => 설계를 평가할 때, 선언문(declaration)을 읽는 것만으로는 충분치 않다. 항상 사용 사례를 조사해 맥락해서 명확하게 보이는지 확인해라! 간결함보다 명확성이 더 중요해! Swift 코드는 간결할 수 있으나, 최소한의 문자로 가능한 가장 간단한 코드를 구현하는 게 목표가 아니다. Swift 코드의 간결함은 강력한 유형 시스템과 자연스럽게 상용구(boilerplate)를 줄이는 기능의 부작용이다. BoilerPlate란? 다양한 프..
2023.12.14 -
KVO(Key Value Observing) 의 동작방식
KVO 는 데이터를 바인딩해주는 방법 중 하나이다. 데이터 바인딩하니 SwiftUI에서 @State var data 즉각적으로 업데이트 해주고, Binding 은 State 에게 데이터를 연결받고 하위뷰에게 상태를 공유해주는 그런 역할을 했더랬다. 그럼 키와 값 관찰? 이라는 KVO 는 어떤 식으로 동작할까? Key Value Observing 의 정의 다른 객체의 속성에 대한 변경사항을 객체에 알린다. 가만있어보자, 이걸보니 NotificationCenter(이것도 등록된 관찰자에게 정보를 알려주는 역할을 하는 NSObject 클래스) 가 생각나는구나! 다시 본론으로 돌아와 Key Value Observing(키-값 관찰)은 다른 개체의 속성 변경 사항을 객체에 알리는 데 사용하는 Cocoa Progr..
2023.12.02 -
viewController 의 생명주기 ( UIViewController's Life cycle)
기본적으로, UIKit 에서 ViewController 는 자신이 관리하는 View 와 AppData 사이의 중개자 역할을 한다. 클래스 메서드와 속성을 UIViewController를 사용해 앱의 시각적 표현을 관리할 수 있다. 뷰 컨트롤러의 주요 책임 일반적으로 기본 데이터 변경에 대한 응답으로 뷰 내용 업데이트 뷰와의 사용자 상호작용에 응답 뷰 크기 조정 및 전체 인터페이스 레이아웃 관리 앱에서 다른 뷰 컨틑롤러를 포함한 대른 객체와의 조정 ViewController 가 사용자가 앱을 구동하고 화면이 시작하고 처음 보이는 뷰와 다른 뷰로 이동하고 어떤 버튼을 눌렀을 때 화면 전환이 되거나, 사라지는 등의 주기를 설정해 줄 수 있는게 바로 ViewController 의 생명주기 (Life cycle)..
2023.11.26 -
NotificationCenter 에 대해서 알아보자.
NotificationCenter 기본개념 class NotificationCenter: NSObject A notification dispatch mechanism that enables the broadcast of information to registered observers. 등록된 관찰자에게 정보를 브로드 캐스팅할 수 있는 알림 방송 📢 메커니즘 이다. Objects(객체는) addOberver(_: selector: name: object:) 또는 addObserver(forName: object: queue: using:) 메소드를 사용하여 알림(NSNotification 객체)을 수신하기 위해 알림 센터에 등록한다. 객체가 자신을 관찰자로 추가할 때 어떤 알림을 받아야 하는지 지정한다. ..
2023.11.19 -
[ UIKit ] - UIWindow의 역할 (Windows and Screens)
Window 는 MS 의 운영체제...가 아니고, 창문, 보이는 부분들과 연관 되어 있는 것 같다. 공식 문서를 살펴보니 The backdrop for your app's user interface and the object that dispatches events to your views. UIWindow 의 개념을 보니 이러한데 해석을 해보면 앱의 UI 에 대한 배경 이벤트를 뷰에 전달하는 객체 라고 보면 될 것 같다. API Collection 의 분류로 보면 Windows and Screens 인데 영어만 봐도 이게 보이는 뷰 즉, 화면과 연관되어 있다는 것을 어렴풋이 알 수 있을 것 같다. Window Objects act as containers for your app's onscreen co..
2023.11.17 -
Macro 에 대해서 알아보자. ( 수정중 )
State 를 공부하다가, Observable() 의 정의를 또 타고들어가다가 이것이 Macro 타입이라는 걸 알게되었다. Share observable state objects with subviews 부분에서 https://playground-coding.tistory.com/78 Macro 이게 무슨 역할을 하는 타입일까? Struct, Class, Instance Method, Properties, enum 등 이런 것들은 문법을 공부할 때 한번씩은 보던 것들인데, Macro 는 뭐지.. State 에 저장된 Observable 객체를 하위 뷰와 공유하려면 객체 참조를 하위 뷰에 전달 SwiftUI는 객체의 관찰 가능한 속성이 변경될 때마다 하위 뷰를 업데이트하지만 하위 뷰의 body가 속성을 읽..
2023.11.12