안녕하세요~ Diana 입니다.요즘 날씨가 점점 쌀쌀해지는데 오늘은 비까지 와서 더 춥게 느껴지네요.올해의 20도 넘는 날씨는 이제 며칠 남지 않았나 봅니다 ㅎㅎ.. 1시간 반이 좀 넘는 출퇴근을 하며 요즘 전 오늘의 집 어플을 많이 보고 있습니다.자취는 아직 먼 미래겠지만 오늘의 집에서 예쁘게 꾸미고 사시는 분들을 보면 약간 대리만족이 되더라구요...그러던 와중 오늘의 집에서 재밌는 UI를 발견했습니다. 스크린 샷을 보면 있는 "오늘의집 고감도 셀렉트샵"이라 적혀있는 저 뷰가 뭔지 궁금했습니다.일단 뭐라 부르는지도 몰라서 Custom Alert니 Custom Popup이니 다양하게 검색하다가 완전 동일하지는 않지만 TipKit이라는 Apple에서 지원하는 라이브러리를 발견하였고 재밌어 보여서 오..
우리는 프로그래밍을 하면서 코드를 효율적으로 구현해야하는 숙제를 가지고 있습니다.코드를 실행할 자원은 한정되어 있고 그렇기 때문에 우리는 같은 코드라면 빠른 시간내에 동작 가능한 쪽을 선택하는 것이 좋죠. 이렇게 알고리즘이 얼마나 걸리는지를 나타내는 방법으로 점근적 표기법이라는 것이 있습니다.오늘은 이 점근적 표기법에 대해 알아보려고 합니다! ✅ 빅 오(O) 표기법빅오 표기법은 제일 보편적으로 사용되는 표기법으로 가장 높은 차수 보다 같거나 높은 식을 뜻합니다.이거보단 최소한 빠르다 라는 의미죠.빅오 표기법은 알고리즘 최악의 실행시간을 나타냅니다. 예를들어, f(n) = n^3 + 3n + 1 인 경우 가장 높은 차수는 n^3이므로 O(n^5), O(n^7), O(n^10) 모두 맞는 말입니다. f(..
안녕하세요. Diana 입니다.요즘 SwiftUI로 개발을 하다보면 에러 문구로 Opaque Type이라는게 자주 보이더라구요.그리고 주변에서도 종종 귓동냥으로 이런게 있다 하고 들었던 것 같은데 미루고 미루다 이제서야 공부합니다 ㅎㅎ 그럼 바로 시작하겠습니다. Swift에는 코드의 디테일을 숨기는 방법으로 Opaque Type과 Boxed Protocol Type이라는 두 가지 종류를 제공합니다.그 중 Opaque Type은 Swift 5.1에 나온 개념으로 구현을 구체화하는 대신 호출에서 내용이 추상화 된다는 흥미로운 특징을 가지고 있죠. 구현을 구체화하고 호출을 추상화한다?어디선가 비슷한 개념을 본적이 있는 것 같습니다. 네 바로 제네릭인데요.제네릭은 비슷하긴 하지만 Opaque 타입과는 반대..
안녕하세요. Diana 입니다.오늘은 SwiftUI에서 Scrollable 하도록 데이터를 구성하는 방법인 List에 대해 알아보려고 합니다.물논 SwiftUI에서 많은 데이터를 Scrollable하게 구현하는 방법에는 List, Grid, LazyVStack 등의 여러 방법이 있지만 오늘 저는 단순히 수직으로 스크롤 가능한 메뉴 리스트를 구성할 생각이므로 List를 선택하였습니다. 시작하겠습니다 ㅎㅎ ✅ List란?공식문서에 따르면 List는 단일 열로 정돈된 데이터를 나타내는 방법이며 하나 또는 다중 선택을 선택적으로 지원한다고 합니다.List를 사용하게 되면 데이터 사이에 Separator를 추가하거나 데이터를 밀어서 삭제하는 등의 스타일링을 추가할 수 도 있는데 이 기능이 필요하지 않은 경우에는..
안녕하세요.오늘은 SwiftUI의 ViewBuilder에 대해 정리해보려고 합니다.시작해볼까요? @inlinable public init(alignment: HorizontalAlignment = .center, spacing: CGFloat? = nil, @ViewBuilder content: () -> Content)✅ 1. ViewBuilder 란? 공식문서에 따르면 ViewBuilder은 클로저의 파라미터로써 뷰를 구성한다고 합니다.우리는 주로 ViewBuilder를 Child 뷰를 생성하는 클로저의 파라미터로 사용하며 해당 클로저는 여러 개의 자식 뷰를 생성할 수 있게 된다고 하네요. ✅ 2. SwiftUI에서의 ViewBuilder 사용그럼 SwiftUI에서 ViewBuilder는 언제 사용되..
- Total
- Today
- Yesterday
- 코어데이터
- private(set)
- Tuist
- boxedprotocoltype
- boxedprotocol
- swift
- 스위프트
- SwiftUI
- PHCachImageManager
- ViewBuilder
- BoxedType
- tuist v4
- asymptoticnotation
- 빅세타표기법
- 알고리즘
- reusablelist
- UIViewTransitioningDelegate
- iphone
- ios
- 개발자코테
- coredata
- Concurrency
- Xcode
- kakaomapssdk
- opaque
- 팁킷
- Algorithm
- opaquetype
- tipview
- capsulation
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |