2024/08/14 2

SwiftUI DynamicProperty

SwiftUI DynamicProperty 뷰의 외부 속성을 업데이트하는 저장 프로퍼티에대한 인터페이스   view의 body를 다시 계산(recomputing)하기 전에 해당 속성값을 제공  내부적으로 update() 메소드에 의해 기본 값을 업데이트.이 메소드는 필수이며 기본 구현이 제공됨. 이를 통해 저장 프로퍼티를 새로운 값으로 갱신.일반적으로 SwiftUI에서 @State와 같은 프로퍼티 래퍼가 사용될 때 뷰의 상태가 변하면 자동으로 호출되어 뷰의 상태를 최신으로 유지하는데 사용. 예제내용을 FileManager에 실시간으로 저장하는 예제.@AppStroage와 동일한 기능.@propertyWrapperstruct Document: DynamicProperty { @State private..

Swift nonmuating, mutating

Swift nonmuating, mutatingnonmutating은 해당 인스턴스의 상태를 변경하지 않음을 나타냄.기본적으로 struct나 enum의 메소드는 인스턴스의 프로퍼티를 변경할 수 없음.nonmutating 키워드는 인스턴스의 프로퍼티를 변경하지 않고 값을 설정할 수 있도록 허용다른말로 인스턴스 자체를 변경하지 않으면서 내부적으로 상태 조작 가능.Swift 언어의 발전에서 propertywrapper, macro를 이해하는데 도움.  예제 1private struct MyStruct { private var value: Int = 0 // ✅ mutating func increment() { value += 1 } // ❌ 내부 value..