일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- navigationsplitview
- 개발
- Navigation
- xcodecloud
- swiftdata
- SWIFTUI
- uikit
- 앱구조
- concurrency
- regex
- Tuist
- ios18
- tuist #xcodecloud #ios #ci/cd #swiftlint #firebase
- SWIFT
- iOS 개발자
- iOS 13.0+
- IOS
- Git
- ObjC
- Alamofire
- network
- TCA
- github
- xcode
- Firebase
- combine
- framework
- UI
- composablearchitecture
- 정규표현식
- Today
- Total
목록IOS (24)
iOS 개발 기록
📄목차Compositional Layout구성Item cell 구현 SupplementaryView의 구현전체 코드ReferenceCompositional LayoutiOS 13.0에 도입된 UICollectionView의 새로운 레이아웃. 다음과 같은 특징이 있다고 한다. 기존의 UICollectionViewFlowLayout보다 더 확장된 레이아웃 제공Item 정의 -> Group 정의 -> Section 정의 순으로 순으로 진행해 간다.아래의 그림과 같이 여러 섹션으로 나누어 각 섹션끼리 관리 가능. 섹션별로 다른 레이아웃을 구성하기 쉬워진다. : 요즘 많이 보이는 다음과 같은 뷰를 View를 구현하기 편해진다. 구성Collection view의 구성 Supplementary view가 위치할 수 ..
📄목차Retain CycleCapture list weak, unowned Non-escaping closure vs Escaping closureNon-escaping closureescaping closure self? VS guard let self = self else { return } Reference Retain CycleClosure의 경우 reference type이기 때문에 순환 참조(retain cycle)를 발생시킬 수 있다. class Person { let name: String // self가 확정난 후에 name을 참조해야 하기 때문에 lazy 변수로 설정 lazy var introduction: () -> String = { return "저는 \(self.name) 입니다..
📄목차iOS의 UIStructureUIScreenUIWindowSceneUIWindowWindow와 Scene의 개념Window SceneAppDelegate와 SceneDelegate참고 iOS의 UIStructureiOS의 View 계층 UIScreen기기의 실제 물리적인 스크린. UIWindowScene 얘가 Scene을 관리하는 객체. 하나 이상의 window를 포함한다.iOS13 이상부터 생긴 SceneDelegate를 보면 UIWindowSceneDelegate 프로토콜을 채택했는데, Scene에 변화가 생길 경우 delegate를 통해 변화를 알린다. UIWindow이벤트들을 뷰로 보내주는 객체. UIV Window와 Scene의 개념Window UIView의 하위클래스. View를 담는 컨..
에러 처리 Tags: Swift 에러의 표시와 발생 Swift에서 에러는 Error 프로토콜을 준수하는 타입의 값으로 표현된다. 에러는 주로 열거형(enum)을 통해 그룹화 되어 관리된다. enum LogViewError: Error { case documentDirectoryError case notFindLogURL case lastLogNameError(logName: String) case pathToDataError case imageKeyParseError } 예상치 못한 흐름이 발생했을 때에 throw문을 통해 에러를 발생시켜 일반적인 흐름이 계속될 수 없다는 것을 알릴 수 있다. 아래 코뜨는 해당 이름의 로그가 잘못되었다는 것을 알리는 에러를 발생시킨다. throw LogViewError...