SwiftUI 57

iOS CoreData 이론

iOS CoreData 이론 CoreData에 대해서 알아봅시다.1편에서는 개념과 이론을 중점으로 서술하며, 코드 설명은 2편에서 이어집니다.연관 포스팅[iOS CoreData 간단한 CRUD](https://rldd.tistory.com/587)[iOS SwiftData in UIKit](https://rldd.tistory.com/588)[iOS CoreData 이론](https://rldd.tistory.com/586)[iOS CoreData Relationships](https://rldd.tistory.com/661) Core Data란?- 코코아 개발 환경을 통해 제공하는 인 메모리(In-Memory) 방식의 데이터 관리 프레임워크.- 이를 통해 데이터베이스 한경과 유사하게 데이터 CRUD과정..

[TCA] Effect #6 (WebSocket)

[TCA] Effect #6 (WebSocket) 목차 - 이번에 할 실습에 대한 설명 - 웹소켓 개념에 대해서 설명은 생략 - 나의 이전 작업에서의 웹소켓과 연관지어 생각해보기 - TCA WebScoket 예제 # 이번에 할 실습에 대한 설명 URLsession의 웹소켓용 API를 위한 간단한 Wrapper를 만들어 소켓 서버에 접속하여 테스트한 후 메시지를 전송 후 소켓 서버는 즉시 메시지를 클라이언트에게 회신. - 나의 이전 작업에서의 웹소켓과 연관지어 생각해보기 내가 개발을 처음 공부할 당시에는 웹소켓을 이렇게 많이 다루리라고 생각하지 못했는데, 메인으로 사용하고 있음. 처음 이론이 아닌 웹소켓을 접하게 된 것은 Kuring프로젝트에서 검색파트를 구현하면서 처음 알게 되었는데, 당시에는 StarS..

apple/TCA 2023.10.08

[TCA] Effect #5 (Timers)

[TCA] Effect #5 (Timers) 목차 - Timers 주제에 대해서 간단히 알아보기 - Timers와 관련한 예제 # Timers 주제에 대해서 간단히 알아보기 @Dependency(\.continuousClock) var clock 위의 디펜던시 예제처럼 사용할 수 있음 Swift Clocks 라이브러리에서 제공하는 Helper인 클럭에 .timer 메서드를 사용 비동기 코드로 시간을 처리하기 위한 `AsyncSequence` 친화적인 API를 제공 # Timers와 관련한 예제 // MARK: - Feature domain struct Timers: Reducer { struct State: Equatable { var isTimerActive = false var secondsElaps..

apple/TCA 2023.10.07

[TCA] Effect #3 (LongLiving)

[TCA] Effect #1 (LongLiving) 목차 - LongLiving에 대한 설명 - Effect LongLiving 예제 살펴보기 # LongLiving에 대한 설명 이번에는 NotificationCenter의 알림들처럼 effect의 라이프사이클이 긴 것들을 처리하는 방법과 그것들을 View의 라이프 사이클과 연결하는 방법에 대해서 알아보고자 함. 이번에는 스크린샷을 여러번 찍으면서 UI의 카운트가 몇번이나 발생하는지 관찰하는 예제 그런 다음 다른 화면으로 이동하여 스크린샷을 촬영한 후 이 화면에서 스크린샷이 *not* 카운트되는지 확인하고, 해당 화면을 떠나면 노티피케이션 효과가 자동으로 취소되고 화면에 들어갈 때 다시 시작. # Effect LongLiving 예제 살펴보기 import..

apple/TCA 2023.10.07

[TCA] Effect #1 (Basics)

[TCA] Effect #1 (Basics) 목차 - Effect란? - Effect Basic 예제 살펴보기 - Effect란? TCA로 만들어진 기능에 Side Effect을 도입할 수 있음. Side Effect란 외부에서 수행되어야 하는 작업들로 API 요청, HTTP를 통해 외부 서비스를 사용하는 등 불확실하며 복잡하기도 함. - 영어 용어 정리 NB: nota bene라는 라틴어로 주의, 유의라는 의미 - Effect Basic 예제 살펴보기 import ComposableArchitecture import SwiftUI // MARK: - Feature domain struct EffectsBasics: Reducer { struct State: Equatable { var count = 0..

apple/TCA 2023.10.07

[TCA] OptionalState (IfLetCase)

[TCA] OptionalState (IfLetCase) 목차 - OptionalState란? - OptionalState 예제 - IfLetCase 알아보기 - OptionalState란? Reducer의 State 중 optional로 선언된 state를 일컬음. - OptionalState 예제 1. optional값은 IfLetCase를 통해서 분기처리 가능 - 자세한 사항을 코드의 주석 참고 // MARK: - Feature domain struct OptionalBasics: Reducer { struct State: Equatable { var optionalCounter: Counter.State? // 1. ✅ State를 optional 상태로 보유 } enum Action: Equat..

apple/TCA 2023.09.27

[TCA] Binding

[TCA] Binding TCA의 Binding 방법 정리 목차 - TCA Binding Basic 예제 - TCA BindingState를 사용한 예제 - BidingReducer()를 가장 상단에 작성하는 이유 - TCA Binding Basic 예제 아래 코드는 TCA를 사용할 때 가장 기본적인 방법. // MARK: - Feature domain struct BindingBasics: Reducer { struct State: Equatable { var sliderValue = 5.0 var stepCount = 10 var text = "" var toggleIsOn = false } enum Action { case sliderValueChanged(Double) case stepCountC..

apple/TCA 2023.09.27

[SwiftUI] EqutableView (feat. POD)

- EqutableView란?> EqutableView는 이전 값과 비교하여 새 값이 이전 값과 동일한 경우 자식 업데이트를 방지하도록 설계된 뷰입니다. `iOS 13.0+` `iPadOS 13.0+` `tvOS 13.0` `watchOS 6.0+` `visionOS 1.0+ Beta [apple-docs-EqutableView](https://developer.apple.com/documentation/swiftui/equatableview) 💡 들어가기 전.- 아래의 개념에 대한 지식이 반드시 필요함. 필요한 이유는 글 제일 아래에서 설명   - [Plain ol' Data](https://rldd.tistory.com/552)  EqutableView Usage1. 내가 EqutableView로 ..

UILabel Inset and CornerRadius (UIKit)

UILabel Inset and CornerRadius (UIKit) UILabel에서 텍스트 주변으로 인셋을 주기 위한 코드 히스토리2023-06-23: InsetLabel 구현2025-01-21: CapusuleLabel 추가 목차InsetLabel 전체 코드InsetLabel 사용법CapsuleLabel 전체 코드 InsetLabel 전체 코드/// UILabel의 text와 컨테이너 사이의 inset값을 설정할 수 있는 커스텀 라벨final class InsetLabel: UILabel { /// text와 UILabel 사이의 inset값을 설정 var edgeInsets: UIEdgeInsets = .init(top: 2.0, left: 8.0, bottom: 2.0, ri..

[WWDC23] Meet MapKit for SwiftUI

Meet MapKit for SwiftUI 🔨 Xcode 15.0 Beta iOS 17.0 + Apple M1 Max WWDC23 - Video https://developer.apple.com/wwdc23/10043 Meet MapKit for SwiftUI - WWDC23 - Videos - Apple Developer Discover how expanded SwiftUI support for MapKit has made it easier than ever for you to integrate Maps into your app. We'll show you how... developer.apple.com 이번 WWDC23에서 흥미로운 세션이 많았지만, 가장 끌리는 MapKit을 정리해보고자 한다. 특히..

apple/WWDC 2023.06.18