일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- arkit
- UIKit
- swift
- combine
- Flutter
- rxcocoa
- TCA
- RxSwift
- ios
- SnapKit
- MVVM
- SwiftUI
- designpattern
- tableView
- Lv2
- BOJ
- Xcode
- CollectionView
- realm
- visionOS
- node.js
- Kuring
- 프로그래머스
- 패스트캠퍼스
- WWDC24
- XCTest
- Swfit
- 백준
- reactorkit
- raywenderlich
- Today
- Total
목록apple/Docs, iOS, Swift (54)
lgvv98
CloudKit 정리 코드 예제 #3CloudKit 정리 환경설정 #1https://rldd.tistory.com/607CloudKit 정리 이론 #2https://rldd.tistory.com/619CloudKit 정리 코드 예제 #3https://rldd.tistory.com/631목차아이클라우드 권한 체크CloudKit 코드 기본 설정데이터 저장데이터 수정데이터 삭제데이터 불러오기서버 변경 사항이 있는지 토큰값을 기반으로 변경사항 체크데이터 로드아이클라우드 권한 체크아이클라우드 권한 체크하는 코드 func checkiCloudAccountStatus(completion: @escaping (CKAccountStatus) -> Void) { CKContainer.default().ac..
iOS TipKit 사용 예제 정리목차OverviewTipKit 이론Tipkit 예제OverviewTipKit을 사용하면 앱의 새로운 기능에 대해 사용자에게 알리거나 작업을 더 빠르게 수행하는 방법을 보여줄 수 있음.각 예제는 TipKit 프레임워크의 다양한 기능을 강조. 추천하는 팁 예시actionable > 버튼 통해 추가 정보 혹은 기능 실행instructinal > 기능에 대한 설명easy to remember > 손쉽게 기억 되어야 함. 비추천하는 팁 예시promotinal > 광고error message > 에러 메시지not actionable > 새로운 기능 알리는 것 외에 할 수 있는게 없음.too complicated > 너무 복잡함. TipKit 코드 사용 기본기본적으로 Tip과 관..
Swift withTaskCancellationHandler withTaskCancellationHandler란?Task가 cancel 되었을 때 동작을 정의할 수 있음.throw 던지면 catch에서 잡는다고 생각하면 편함.(중요) Task가 cancel 된다고 작업이 즉시 중단되는건 아님. 작업 내에서 취소 상태를 확인하고 이에 따른 핸들링이 필요. 예제 코드 및 영상샘플 예제 설명performTask(): 1부터 10까지 1초마다 반복Task가 cancel 되는 조건버튼을 클릭해 다음 뷰로 이동했을 때3초가 지났을 때(참고) task modifier는 (onAppear + Task)와 동일(주의) task에서 해당 코드 형태로 작성할 시 뷰가 사라지더라도 @State로 선언되 Task는 사라지지 않..
Swift AsyncStream, AsyncThrowingStream 정리 AsyncStream클로저에서 생성된 비동기 시퀀스로, 새로운 요소를 생성하기 위해 계속 호출AsyncSequence를 준수해 asynchronous iterator(비동기 이터레이터) 수동으로 구현하지 않고도 비동기 시퀀스를 간편하게 생성할 수 있음.특히, 콜백 또는 딜리게이트 기반 API를 async-await와 함께 사용할 수 있도록 적합하게 설계되었음.AsyncStream을 초기화할 때, AsyncStream.Continuation을 받는 클로저를 전달. 이 클로저 내에서 요소를 생성하고, 해당 요소를 계속해서 `yield(_:)` 메서드를 호출하여 스트림에 제공RxSwift의 Observable에서 emit하는 것과 ..
Swift nonmuating, mutatingnonmutating은 해당 인스턴스의 상태를 변경하지 않음을 나타냄.기본적으로 struct나 enum의 메소드는 인스턴스의 프로퍼티를 변경할 수 없음.nonmutating 키워드는 인스턴스의 프로퍼티를 변경하지 않고 값을 설정할 수 있도록 허용다른말로 인스턴스 자체를 변경하지 않으면서 내부적으로 상태 조작 가능.Swift 언어의 발전에서 propertywrapper, macro를 이해하는데 도움. 예제 1private struct MyStruct { private var value: Int = 0 // ✅ mutating func increment() { value += 1 } // ❌ 내부 value..
Swift Entry macro (@Entry) 기존 SwiftUI에서는 아래의 형태로 커스텀하여 사용할 수 있었음. extension EnvironmentValues { struct OrientationEnvironmentKey: EnvironmentKey { static var defaultValue: UIInterfaceOrientation = .portrait } var orientation: UIInterfaceOrientation { get { self[OrientationEnvironmentKey.self] } set { self[OrientationEnvironmentKey.self] = newValue } }} 해당 매크..