목록개발_iOS (68)
소피it블로그
https://developer.apple.com/documentation/swiftui/binding Apple Developer Documentation developer.apple.com source of truth가 소유하는 값을 읽고 쓸 수 있는 프라퍼티 래퍼 타입 데이터를 저장하는 프라퍼티와 해당 데이터를 보여주고 변경하는 뷰 간의 쌍방 연결을 생성하기 위해 바인딩을 사용한다. 바인딩은 데이터를 직접적으로 저장하는 대신 다른 곳에 저장된 source of truth에 프라퍼티를 연결시켜준다. 예를 들어, play와 pause를 번갈아가며 토글되는 버튼은 Binding 프라퍼티 래퍼를 통해 부모 뷰의 프라퍼티에 바인딩을 생성해줄 수 있다. // 자식 뷰 struct PlayButton: View..
https://developer.apple.com/documentation/swiftui/state Apple Developer Documentation developer.apple.com 스위프트UI에 의해 관리되는 프라퍼티 래퍼 타입으로, 값을 읽고 쓸 수 있음 스위프트UI는 state로 선언한 프라퍼티의 저장을 관리한다. 해당 값이 변경되면 스위프트UI는 그 값에 의존하는 뷰 위계의 일부분을 갱신한다. 뷰 위계질서 내부에 저장된 한 값에 대한 유일한 source of truth로써 state를 사용하라. State 인스턴스는 그 자체로서 값은 아니다. 이는 값을 읽고 쓰는 수단에 해당한다. state의 값에 접근하기 위해서는 프라퍼티명을 부르면 되는데, 그 결과로써 wrappedValue 프라퍼티 ..
https://developer.apple.com/documentation/uikit/uiscenedelegate Apple Developer Documentation developer.apple.com 씬 내부에서 일어나는 라이프 사이클 이벤트에 응답하는 핵심 메서드 1. 선언 @MainActor protocol UISceneDelegate 2. 개요 UISceneDelegate 객체를 통해 앱의 유저 인터페이스의 인스턴스에서의 라이프 사이클을 관리할 수 있다. 이 인터페이스는 해당 씬에 영향을 주는 상태 전환에 응답하는 메서드를 정의하는데, 이는 씬이 포그라운드에 진입하여 활성화되거나 백그라운드에 진입하는 경우 등을 포함한다. 이러한 전환이 일어날 때 적절한 행동을 제공하도록 delegate를 사용하..
https://developer.apple.com/documentation/uikit/uiapplicationdelegate Apple Developer Documentation developer.apple.com 앱의 공통된 행동을 관리하기 위한 일련의 방법 1. 선언 @MainActor protocol UIApplicationDelegate 2. 개요 앱의 delegate 객체는 앱의 공통된 행위를 관리한다. 앱 delegate는 앱의 기본 객체가 되며, UIApplication과 연계되어 시스템과의 상호작용을 관리한다. UIApplication 객체처럼, UIKit는 앱 delegate 객체를 앱의 런치 사이클의 초기에 생성하여 항상 존재할 수 있게 해준다. 앱의 delegate 객체를 다음과 같은..
https://developer.apple.com/documentation/uikit/app_and_environment/managing_your_app_s_life_cycle Apple Developer Documentation developer.apple.com 1. Overview 앱의 현재 상태는 앱이 할 수 있는 것과 없는 것을 결정한다. 예를 들어 포그라운드에 나와있는 앱은 유저의 관심 대상이기 때문에 CPU를 포함한 시스템 자원에 대해 우선권을 갖는다. 반면 백그라운드의 앱은 스크린에 나와있지 않기 때문에 가장 이상적으로는 아무 것도 안 하는 게 좋고, 최소한의 일을 수행해야 한다. 앱의 상태가 바뀌기 때문에 각각의 상태에 걸맞게 조절해야 한다. 앱의 상태가 변경되면 UIKit은 적절한 de..
https://docs.swift.org/swift-book/LanguageGuide/Extensions.html Extensions — The Swift Programming Language (Swift 5.7) Extensions Extensions add new functionality to an existing class, structure, enumeration, or protocol type. This includes the ability to extend types for which you don’t have access to the original source code (known as retroactive modeling). Extensions docs.swift.org 익스텐션은 이미 ..