EnvironmentObject
·
SwiftUI
부모뷰나 그 상위 뷰가 제공하는 ObserbableObject를 위한 프로퍼티 래퍼 타입입니다. 가장 큰 특징은 EnvironmentObject로 선언된 인스턴스의 값이 다른 뷰에서 값이 바꿀 수 있으며 @StateObject를 사용하면 그에 대응하는 즉각적인 행동을 취할 수 있다는 것입니다. EnvironmentObject 는 앱의 많은 뷰와 공유해야하는 데이터인 경우 사용되는 프로퍼티 래퍼입니다. EnvironmentObject를 사용하면 데이터가 변경 될 때 뷰가 자동으로 업데이트 된 상태로 유지되고 @ObservedObject를 사용하지 않아도 됩니다, 하지만 Observable 객체와 같은 방식으로 선언되어 반드시 ObservableObject 프로토콜을 준수해야합니다. @ObservedObje..
NSCoding
·
SwiftUI
아카이빙과 배포를 하기 위해 인스턴스가 encoded, decoded 가능하게 해주는 프로토콜 입니다. NSCoding 프로토콜은 클래스의 인스턴스가 encoded, decoded 될 수 있게 반드시 2가지 메서드를 구현해야합니다. 이 기능은 구현함으로서 archiving과 distribution의 기반을 제공합니다. 이 프로토콜은 객체를 저장하고 다른 위치로 전송하는 과정을 가능케 하며, 이는 주로 아카이빙 및 디스트리뷰션의 기반을 제공합니다. 아카이빙은 객체를 디스크에 저장하여 나중에 사용할 수 있게 하는 것이고, 디스트리뷰션은 객체의 복사본을 다른 주소 공간으로 전송하여 다른 시스템과의 상호 작용이나 데이터 공유를 지원합니다. 객체 지향 디자인 원칙을 유지하기 위해, 인코딩 또는 디코딩되는 객체는 ..
Archiving, encoding, decoding
·
SwiftUI
아카이브를 사용하는 이유간편성: 아카이브를 사용하면 Core Data 보다 느리지만 덜 복잡하고 객체를 간단하게 파일로 만들고 읽을 수 있습니다. 데이터 보존: 아카이브를 사용하여 객체의 현재 상태와 데이터를 영구적으로 저장할 수 있습니다. 이를 통해 앱이 종료되거나 재시작되더라도 사용자 데이터를 보존할 수 있습니다. 예를 들어, 사용자 설정, 게임 진행 상황, 또는 다른 중요한 데이터를 저장할 수 있습니다. 데이터 교환: 아카이브된 객체를 파일 또는 네트워크를 통해 다른 앱 또는 기기로 전송할 수 있습니다. 이를 통해 데이터를 공유하고 다른 플랫폼 또는 앱과 호환성을 유지할 수 있습니다. 상태 저장 및 복원: 앱이 사용자 상호작용 또는 화면 전환을 관리하는 경우, 현재 화면 또는 앱 상태를 아카이브하여..
Bundle
·
SwiftUI
Bundle 클래스란 디스크의 bundle 디렉토리에 저장된 코드와 리소스의 표현입니다.여기서 그럼 Bundle이란 실행 가능한 코드와 그 코드가 사용하는 자원을 포함하고 있는 디렉터리입니다. Apple은 bundle을 사용하여 앱, 프레임워크, plug_in 및 기타 많은 특정 유형의 콘텐츠를 나타냅니다. bundle은 포함된 리소스를 잘 정의된 하위 디렉토리로 구성하며, bundle 구조는 플랫폼과 번들 유형에 따라 다릅니다. 번들 객체를 사용하면 번들의 구조를 모른 채 번들의 리소스에 액세스할 수 있습니다. bundle 객체는 bundle 구조, 사용자 선호도, 사용자의 지역 및 기타 관련 요소를 고려하여 아이템을 찾기 위한 단일 인터페이스를 제공합니다. 모든 실행 파일은 bundle 객체를 사용하..
FileDocument
·
SwiftUI
FileDocument는 파일을 오가는 document를 직렬화 하는데 사용하는 프로토콜입니다. 문서를 구조와 같은 값 유형으로 저장하려면 FileDocument 프로토콜을 준수하는 유형을 만들고 필요한 메서드와 프로퍼티를 구현합니다. 프로토콜을 준수하기 위해서는 readableContentTypes을 정의하여 document를 읽고 쓸 수 있는 콘텐츠 유형을 list로 설정할 수 있습니다. 만약 읽어오는 타입과 문서가 쓸 수 있는 콘텐츠 유형 목록이 읽는 것과 다르다면, 선택적으로 writableContentTypes를 정의할 수도 있습니다. init(configuration:)을 사용하여 파일로부터 document를 불러옵니다.문서를 파일에 저장하는 것은 해당 문서의 내용을 fileWrapper(co..
Files and Directories - 파일 디렉터리 접근
·
SwiftUI
애플은 앱마다 각각의 저장 공간을 갖게하여 다른 앱과의 충돌을 방지시킨다. 이것은 A라는 앱은 A 앱에 할당된 파일들과 디렉터리에 접근할 수 있는 것이다, 사용자가 앱을 설치하였을 때 시스템은 표준 디렉터리들을 만들고 그 디렉터리에 파일들을 저장한다.가장 유용한 디렉터리는 document directory다. document directory는 사용자의 파일과 파일 지원 디렉터리를 저장할 수 있는 곳이다. 디렉터리의 위치는 보장되지 않기 때문에 항상 시스템한테 현재 디렉터리나 파일을 가르키는 URL을 물어봐야한다. FileManager 클래스는 urls() 메서드를 가지고 있으며 2가지 인자값을 받는다. 다음과 같다.// 사용자의 문서 경로let documentPath: URL = fileManager...
ytw_developer
'SwiftUI' 카테고리의 글 목록 (29 Page)