분류 전체보기
-
What is Observation ?기본 데이터가 변경될 때 프레젠테이션을 업데이트하는 반응형 앱을 만듭니다.@Obserable 은 normal type의 property를 observable type으로 마킹하여 UI가 data의 변화에 대응할 수 있게 해주는 매크로@Obserable 은 Swift 컴파일러에게 명령을 내려서 코드를 확장형 Observable type으로 바꿔 SwiftUI가 뷰를 동작하게 만듬reference type, value type을 모두 지원@Published @State @Binding @ObservedObject 등 다른 프로퍼티 래퍼가 없어도 작동함각 property마다 @Published @State @Binding @ObservedObject 등을 붙인것을 data..
[WWDC - 2023] Discover Observation in SwiftUIWhat is Observation ?기본 데이터가 변경될 때 프레젠테이션을 업데이트하는 반응형 앱을 만듭니다.@Obserable 은 normal type의 property를 observable type으로 마킹하여 UI가 data의 변화에 대응할 수 있게 해주는 매크로@Obserable 은 Swift 컴파일러에게 명령을 내려서 코드를 확장형 Observable type으로 바꿔 SwiftUI가 뷰를 동작하게 만듬reference type, value type을 모두 지원@Published @State @Binding @ObservedObject 등 다른 프로퍼티 래퍼가 없어도 작동함각 property마다 @Published @State @Binding @ObservedObject 등을 붙인것을 data..
2024.08.10 -
[WWDC - 2021] Demystify SwiftUI ‐ Identity (1/3)[WWDC - 2021] Demystify SwiftUI ‐ Lifetime (2/3)[WWDC - 2021] Demystify SwiftUI ‐ Dependency (3/3)🤔 SwiftUI는 우리의 코드에서 어떤걸 볼까 ?IdentitySwiftUI가 여러번의 업데이트 동안 요소(element) 가 동일한것인지 다른것인지 인식(recognize) 하는 방법LifetimeSwiftUI가 뷰와 데이터의 존재(existence) 를 시간에 따라 추적하는 방법DependencySwiftUI가 인터페이스를 업데이트해야하는 시기(when) 와 이유 (why) 를 이해하는 방법이 세 가지 개념을 통해 SwiftUI는 변경해야할..
[WWDC - 2021] Demystify SwiftUI ‐ Dependency (3/3)[WWDC - 2021] Demystify SwiftUI ‐ Identity (1/3)[WWDC - 2021] Demystify SwiftUI ‐ Lifetime (2/3)[WWDC - 2021] Demystify SwiftUI ‐ Dependency (3/3)🤔 SwiftUI는 우리의 코드에서 어떤걸 볼까 ?IdentitySwiftUI가 여러번의 업데이트 동안 요소(element) 가 동일한것인지 다른것인지 인식(recognize) 하는 방법LifetimeSwiftUI가 뷰와 데이터의 존재(existence) 를 시간에 따라 추적하는 방법DependencySwiftUI가 인터페이스를 업데이트해야하는 시기(when) 와 이유 (why) 를 이해하는 방법이 세 가지 개념을 통해 SwiftUI는 변경해야할..
2024.07.31 -
[WWDC - 2021] Demystify SwiftUI ‐ Identity (1/3)[WWDC - 2021] Demystify SwiftUI ‐ Lifetime (2/3)[WWDC - 2021] Demystify SwiftUI ‐ Dependency (3/3)🤔 SwiftUI는 우리의 코드에서 어떤걸 볼까 ?IdentitySwiftUI가 여러번의 업데이트 동안 요소(element)가 동일한것인지 다른것인지 인식(recognize)하는 방법LifetimeSwiftUI가 뷰와 데이터의 존재(existence)를 시간에 따라 추적하는 방법DependencySwiftUI가 인터페이스를 업데이트해야하는 시기(when)와 이유(why)를 이해하는 방법이 세 가지 개념을 통해 SwiftUI는 변경해야할 사항(wh..
[WWDC - 2021] Demystify SwiftUI ‐ Lifetime (2/3)[WWDC - 2021] Demystify SwiftUI ‐ Identity (1/3)[WWDC - 2021] Demystify SwiftUI ‐ Lifetime (2/3)[WWDC - 2021] Demystify SwiftUI ‐ Dependency (3/3)🤔 SwiftUI는 우리의 코드에서 어떤걸 볼까 ?IdentitySwiftUI가 여러번의 업데이트 동안 요소(element)가 동일한것인지 다른것인지 인식(recognize)하는 방법LifetimeSwiftUI가 뷰와 데이터의 존재(existence)를 시간에 따라 추적하는 방법DependencySwiftUI가 인터페이스를 업데이트해야하는 시기(when)와 이유(why)를 이해하는 방법이 세 가지 개념을 통해 SwiftUI는 변경해야할 사항(wh..
2024.07.29 -
[WWDC - 2021] Demystify SwiftUI ‐ Identity (1/3)[WWDC - 2021] Demystify SwiftUI ‐ Lifetime (2/3)[WWDC - 2021] Demystify SwiftUI ‐ Dependency (3/3) 🤔 SwiftUI는 우리의 코드에서 어떤걸 볼까 ?IdentitySwiftUI가 여러번의 업데이트 동안 요소(element)가 동일한것인지 다른것인지 인식(recognize)하는 방법LifetimeSwiftUI가 뷰와 데이터의 존재(existence)를 시간에 따라 추적하는 방법DependencySwiftUI가 인터페이스를 업데이트해야하는 시기(when)와 이유(why)를 이해하는 방법이 세 가지 개념을 통해 SwiftUI는 변경해야할 사항(..
[WWDC - 2021] Demystify SwiftUI ‐ Identity (1/3)[WWDC - 2021] Demystify SwiftUI ‐ Identity (1/3)[WWDC - 2021] Demystify SwiftUI ‐ Lifetime (2/3)[WWDC - 2021] Demystify SwiftUI ‐ Dependency (3/3) 🤔 SwiftUI는 우리의 코드에서 어떤걸 볼까 ?IdentitySwiftUI가 여러번의 업데이트 동안 요소(element)가 동일한것인지 다른것인지 인식(recognize)하는 방법LifetimeSwiftUI가 뷰와 데이터의 존재(existence)를 시간에 따라 추적하는 방법DependencySwiftUI가 인터페이스를 업데이트해야하는 시기(when)와 이유(why)를 이해하는 방법이 세 가지 개념을 통해 SwiftUI는 변경해야할 사항(..
2024.07.28 -
[WWDC - 2019] Data Flow Through SwiftUI - @State, @Binding[WWDC - 2020] Data Essentials in SwiftUI - @StateObject, @ObservableObject, @EnvironmentObject요약SwiftUI는 View와 View의 State관리가 중요SwiftUI는 @State 를 통해 **Single Source of Truth(SOT)**를 나타낼수 있음SwiftUI는 @State 로 선언된 상태 프로퍼티의 저장소를 관리@Binding 을 통해 **Single Source of Truth(SOT)**에 접근 가능@Binding 을 할때는 @State 로 선언된 상태 프로퍼티의 이름에 prefix로 $표시를 추가해 사용S..
[WWDC - 2020] Data Essentials in SwiftUI - @StateObject, @ObservableObject, @EnvironmentObject[WWDC - 2019] Data Flow Through SwiftUI - @State, @Binding[WWDC - 2020] Data Essentials in SwiftUI - @StateObject, @ObservableObject, @EnvironmentObject요약SwiftUI는 View와 View의 State관리가 중요SwiftUI는 @State 를 통해 **Single Source of Truth(SOT)**를 나타낼수 있음SwiftUI는 @State 로 선언된 상태 프로퍼티의 저장소를 관리@Binding 을 통해 **Single Source of Truth(SOT)**에 접근 가능@Binding 을 할때는 @State 로 선언된 상태 프로퍼티의 이름에 prefix로 $표시를 추가해 사용S..
2024.07.22 -
[WWDC - 2019] Data Flow Through SwiftUI - @State, @Binding[WWDC - 2020] Data Essentials in SwiftUI - @StateObject, @ObservableObject, @EnvironmentObjectUIKit에서 Data FlowSwift UI가 나오기전 UIKit에서의 Data Flow는 보통 아래와 같음하나의 VC(PlayerViewController)에 하위 View(PlayerView, PlayButton)들이 있고VC의 Model에서 하위 View들에게 값을 전달해주는게 일반적이었는데 여기서 동기화의 문제가 발생PlayButton과 PlayerViewController의 isPlaying의 값이 동일해야 함혹은 다른 다양한..
[WWDC - 2019] Data Flow Through SwiftUI - @State, @Binding[WWDC - 2019] Data Flow Through SwiftUI - @State, @Binding[WWDC - 2020] Data Essentials in SwiftUI - @StateObject, @ObservableObject, @EnvironmentObjectUIKit에서 Data FlowSwift UI가 나오기전 UIKit에서의 Data Flow는 보통 아래와 같음하나의 VC(PlayerViewController)에 하위 View(PlayerView, PlayButton)들이 있고VC의 Model에서 하위 View들에게 값을 전달해주는게 일반적이었는데 여기서 동기화의 문제가 발생PlayButton과 PlayerViewController의 isPlaying의 값이 동일해야 함혹은 다른 다양한..
2024.07.08 -
App SandboxApp Sandbox는 커널 수준에서 강제 적용되는 접근 제어 기술macOS 앱의 시스템 리소스와 유저 데이터에 대한 접근을 제한하여 앱이 손상되었을 피해를 최소화앱 샌드박스는 권한 부여를 통해 요청된 리소스에 대한 앱의 액세스를 제한하여 시스템 리소스 및 사용자 데이터에 대한 보호를 제공Mac APP Store로 배포되는 모든 app 들은 App Sandbox를 적용흔히 iOS는 보안이 좋다라고 나오는 말이 App Sandbox 때문Without App Sandbox & With App SandboxApp Sandbox가 적용되지 않는 앱은 모든 유저 데이터와 시스템 리소스에 접근 가능하기 때문에 보안 취약점이 발생한다면 모든 데이터 및 리소스를 해커가 가져갈 수 있게 됨.그래서 a..
[iOS] App SandboxApp SandboxApp Sandbox는 커널 수준에서 강제 적용되는 접근 제어 기술macOS 앱의 시스템 리소스와 유저 데이터에 대한 접근을 제한하여 앱이 손상되었을 피해를 최소화앱 샌드박스는 권한 부여를 통해 요청된 리소스에 대한 앱의 액세스를 제한하여 시스템 리소스 및 사용자 데이터에 대한 보호를 제공Mac APP Store로 배포되는 모든 app 들은 App Sandbox를 적용흔히 iOS는 보안이 좋다라고 나오는 말이 App Sandbox 때문Without App Sandbox & With App SandboxApp Sandbox가 적용되지 않는 앱은 모든 유저 데이터와 시스템 리소스에 접근 가능하기 때문에 보안 취약점이 발생한다면 모든 데이터 및 리소스를 해커가 가져갈 수 있게 됨.그래서 a..
2024.07.01 -
Key의 개념Swift의 KeyPath, KVC, KVO 자꾸나오는 Key의 개념은?문자열(Key)를 의미이 key값을 통해 instance의 property value에 간접적으로 접근하게 해주는 Objective-C에서 나온 개념KVC, KVO가 생기게 된 이유Objective - C로 개발하던 시절에는 MVC 패턴이 정답이라고 생각하던 시기MVC에서 가장 중요한것은 Model과 View의 Sync를 맞추는 일여기서 Controller는 2가지 역할을 수행하여야 함Model의 변화를 View에 반영View의 Interaction을 Model에 반영View나 Model에서 Action이 일어날 때마다 이 2가지 과정을 거쳐일일이 상태값을 업데이트 해주고 View와 Model을 동기화 해줘야하는 문제에 ..
[Swift] Key Value Coding(KVC), Key Value Observing(KVO)Key의 개념Swift의 KeyPath, KVC, KVO 자꾸나오는 Key의 개념은?문자열(Key)를 의미이 key값을 통해 instance의 property value에 간접적으로 접근하게 해주는 Objective-C에서 나온 개념KVC, KVO가 생기게 된 이유Objective - C로 개발하던 시절에는 MVC 패턴이 정답이라고 생각하던 시기MVC에서 가장 중요한것은 Model과 View의 Sync를 맞추는 일여기서 Controller는 2가지 역할을 수행하여야 함Model의 변화를 View에 반영View의 Interaction을 Model에 반영View나 Model에서 Action이 일어날 때마다 이 2가지 과정을 거쳐일일이 상태값을 업데이트 해주고 View와 Model을 동기화 해줘야하는 문제에 ..
2024.06.15