SWIFT12 KeyPath를 이용한 CoreData NSPredicate 조작어 제작 문제 상황 - Repository에서 직접 CoreData Entity에 접근함NSPredicate에 조건을 걸어서 값을 가져와야만 하는 요구사항 발생✅ 앱에서 동작하는 엔티티(순수하게 동작에 사용하는 데이터)와 CoreData에서 사용하는 엔티티(DB Column과 비슷하다…)를 다른 타입으로 사용하고 있다…특정 날짜에 얼마나 유저가 타이머를 사용한 기록을 가져오고 싶은 요구사항class TimerRecordRepository { ... /// 오늘 기록 아이템들 반환 func get(day: Date) async throws -> [TimerRecordItem] { let predicate = NSPredicate(format: "recordCode == %@", .. 2025. 5. 12. Swift KeyPath Expressions Key-Path Expressions | Apple Developer DocumentationUse key-path expressions to access properties dynamically.developer.apple.comKeyPath Expressions API?키 경로 표현식을 사용하여 프로퍼티에 동적으로 액세스하기말이 너무 어렵다… 코드를 보는게 이해가 더 쉬웠다.struct SomeStructure { var someValue: Int // -> 이게 프로퍼티}let s = SomeStructure(someValue: 12)let pathToProperty = \SomeStructure.someValue // 이게 표현 식let value = s[keyPath: pathToPrope.. 2025. 5. 9. SwiftUI Observable과 MVI 패턴 State(Intent)에 대한 고찰 대부분 iOS ViewModel에서 상태를 관리하기 내부에 쓰이는 값들을 하나의 구조체로 그 객체가 갖는 상태를 선언해서 관리한다.@Observable class ViewModel { var state: State struct State { var isFirstAppear = true var isTipAlertPresented = false } ...}⚠️ 이렇게 된다면 @Observable 의 장점인 하나의 변화에만 대응하는 장점을 잃을 수 있다..! ⚠️ 이 구조체 하나가 변경되면 값 복사가 일어나니 isFirstAppear가 변경되어도 isTipAlertPresented의 값을 관찰하는 관찰자의 특정 action이 실행될 수 있다.자세한 Observ.. 2025. 3. 26. WWDC - Async algorithm 패키지 WWDC - Swift Async 알고리즘 소개 Swift Async 알고리즘 소개 - WWDC22 - 비디오 - Apple DeveloperApple의 최신 오픈 소스 Swift 패키지인 Swift Async 알고리즘을 확인하세요. Zip, Merge 및 Throttle을 비롯하여 AsyncSequence와 함께 사용할 수 있는 이 패키지의 알고리즘을 알아보겠습니다. 이러한...developer.apple.com GitHub - apple/swift-async-algorithms: Async Algorithms for SwiftAsync Algorithms for Swift. Contribute to apple/swift-async-algorithms development by creating an a.. 2024. 10. 20. 이전 1 2 3 다음