안녕하세요. Diana 입니다.요즘 SwiftUI로 개발을 하다보면 에러 문구로 Opaque Type이라는게 자주 보이더라구요.그리고 주변에서도 종종 귓동냥으로 이런게 있다 하고 들었던 것 같은데 미루고 미루다 이제서야 공부합니다 ㅎㅎ 그럼 바로 시작하겠습니다. Swift에는 코드의 디테일을 숨기는 방법으로 Opaque Type과 Boxed Protocol Type이라는 두 가지 종류를 제공합니다.그 중 Opaque Type은 Swift 5.1에 나온 개념으로 구현을 구체화하는 대신 호출에서 내용이 추상화 된다는 흥미로운 특징을 가지고 있죠. 구현을 구체화하고 호출을 추상화한다?어디선가 비슷한 개념을 본적이 있는 것 같습니다. 네 바로 제네릭인데요.제네릭은 비슷하긴 하지만 Opaque 타입과는 반대..
안녕하세요 Diana 입니다.요즘은 개인 프로젝트를 진행하며 부트캠프 당시 받았던 PR 리뷰도 틈틈히 보며 공부하고 있는데요,저희 팀이 받았던 리뷰 말고도 다른 분들의 리뷰를 구경하다 보니 private(set) 이라는 접근제어자를 발견해 오늘은 이걸 알아보려고 합니다. 시작할게요~ ✅ private(set) 이란?Swift에는 여러 접근제어자가 존재합니다.그 중 private은 해당 함수 또는 변수가 선언된 코드 블록 내부에서만 사용이 가능하며 인스턴스 생성을 통해 사용하는 것 또한 불가능하죠.이런 private 특성을 이용하여 우리는 은닉하고자 하는 정보에 주로 private을 사용하며 접근하고자 할 때는 특정 함수를 생성하여 함수를 통해 접근해주곤 합니다. class TestClass { ..
안녕하세요! Diana 입니다.프로젝트를 진행하며 데이터를 저장할 공간이 필요하게 되었는데요.이때 저희는 CoreData를 사용하기로 결정했습니다.따라서 오늘은 CoreData에 대해 알아보려고 합니다. 공식문서에 따르면 우리는 코어데이터를 통해 하나의 디바이스에서 캐시 데이터를 유지하거나 CloudKit을 사용하여 여러 디바이스에서 데이터를 동기화 시킬 수 있다고 합니다. 코어데이터는 데이터 모델 에디터를 통해 데이터 타입과 데이터 간의 관계 그리고 관련된 클래스 정의를 정의할 수 있도록 도와준다고 하네요.여기서 많이들 코어데이터는 DB가 아닙니다! 라고 하는데 전 이부분이 이해 가지 않았습니다. 데이터베이스와 같이 데이터를 save하고 fetching 하는 등의 작업이 이루어지는데 DB가 아니라니..
안녕하세요. Diana입니다.오늘은 개발에서 매우 중요한, Thread에 대해 다뤄보려고 합니다. ✅ Thread란?Thread란 간단히 말해서 프로세스에서 잘게 나뉘어진 Task의 단위입니다. 프로세스는 메모리에 할당이 되면 각각의 Data, Code, Stack, Heap 영역을 제공받은 뒤 메모리 영역을 서로 공유하지 않고 독립적으로 작동합니다. 하지만 하나의 프로세스 내부에서 나뉘어진 Thread는 Data, Code, Stack, Heap의 영역 중 Stack 영역을 제외한 메모리 영역을 서로 공유합니다. 우리가 Swift에서 타입을 선택하는 기준도 이러한 Thread의 특징과 관련이 있습니다. Swift에서 타입을 정의하기 위해서는 Class와 Struct 그리고 Enumeration 등의 방..
- Total
- Today
- Yesterday
- opaquetype
- 알고리즘
- tipview
- SwiftUI
- boxedprotocoltype
- 개발자코테
- swiftcoredata
- boxedprotocol
- swiftpackage
- ViewBuilder
- 빅세타표기법
- coredata
- Concurrency
- tuist v4
- Algorithm
- reusablelist
- 팁킷
- Tuist
- capsulation
- swift
- BoxedType
- opaque
- 코어데이터
- asymptoticnotation
- 스위프트
- tipkit
- ios
- threadprogramming
- kakaomapssdk
- private(set)
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |