일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 상호배제
- 오브젝트
- forEach
- 앨런
- deadlock
- 파일 시스템
- 인프런
- 운영체제
- 비동기
- 100 days of SwiftUI
- @state
- 프로세스 스케줄링
- core data
- 동시성
- decode
- struct
- 알고리즘
- 가상 메모리
- Codable
- Linked List
- Apple Developer Academy
- 데드락
- Algorithm
- COLOR
- SwiftUI
- Swift
- UserDefaults
- 동기화
- async
- IOS
- Today
- Total
목록Protocol (2)
기어가더라도 제대로
Extension 일종의 확장판을 만든는 개념 커스텀한 타입뿐 아니라 String, Int 등 기존에 있는 타입에서도 사용 가능 extension 키워드 사용 다음 확장하려는 타입을 명시 { } 사이에 있는 코드는 그 타입에 기능적으로 추가됨 예시 var quote = " The truth is rarely pure and never simple " let trimmed = quote.trimmingCharacters(in: .whitespacesAndNewlines) String 에 존재하는 trimmingCharacters(in:) 이라는 메서드는 반환값을 내보낸다. 메서드를 실행한 결과를 따로 담아놀 trimmed 라는 변수가 필요한데 extension 으로 이를 줄이면 다음과 같다. 혹은 더 짧게..
- Protocol 의 생성과 사용 - Opaque(불투명) 반환 타입의 사용 프로토콜이란? 데이터 타입에게 기대하는 기능을 정의 Swift 식으로 하는 계약 앱의 나머지 부분에서 이 프로토콜을 따라야함 실제 구현은 고려하지 않고 "이 타입은 이 기능을 따를거야~" 라고 명시 예시 출퇴근을 하는 사람을 시뮬레이션 하는 코드가 있다고 가정 이 사람은 다양한 교통 수단을 이용해서 "통근" 이라는 기능을 수행해야함 기차, 차, 오토바이, 공유 킥보드, 비행기 등 무슨 교통 수단을 타더라도 다음의 두 기능은 수행해야함 어떤 수단을 타는지보다 "통근"을 "얼마의 시간" 동안 했다는 것이 중요 새로운 프로토콜 타입이므로 가장 앞 대문자를 쓰는 캐멀케이스 사용 이 프로토콜이 수행해야하는 행동(메서드)을 리스트업 구..