일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- COLOR
- decode
- Swift
- 알고리즘
- 인프런
- IOS
- 가상 메모리
- 앨런
- Codable
- Algorithm
- @state
- 100 days of SwiftUI
- 동기화
- 프로세스 스케줄링
- 오브젝트
- Apple Developer Academy
- core data
- deadlock
- 동시성
- UserDefaults
- struct
- Linked List
- async
- 데드락
- 운영체제
- 비동기
- 상호배제
- SwiftUI
- forEach
- scrollview
- Today
- Total
목록옵셔널 (2)
기어가더라도 제대로
Optional This thing might have a value or might not 값이 있을 수도 있고 없을 수도 있다. 이런 개념이 생겨난 이유 코드의 예측성을 더하기 위해서 이 코드가 안전하고 예상한대로 잘 동작할 것이라는 예측 데이터가 없는 데이터를 이용하지 못하도록 미리 조치 값이 없는 키를 Dictionary 에 요청하면 Optional(nil) 이 나온다. Dictionary 의 value 타입을 String? 으로 지정하는 것이 더 좋다. optional 이라는 개념은 안에 값이 있을 수도 있고 없을 수도 있는 박스와 비슷하다. 값이 없을 때를 대비하는 안전장치 - unwrapping 값이 없을 때를 대비해서 조건문을 선언하는 if 키워드와 상수를 선언하는 let 키워드를 합치면 ..
1. 배열, 딕셔너리, 클래스를 속성으로 선언할때 옵셔널 타입으로 선언하고 선언을 안해주게되면, 값을 입력할 때 값이 들어가지 않는다. HTML 삽입 미리보기할 수 없는 소스 이 속성들에 값이 어떻게 들어가는지 유추해 보길 바란다. 정답은 밑에 적어놓겠다. 마지막은 딕셔너리에 값으로 배열을 가지고 있는 경우를 초기화하는 코드이다. 좀 복잡해서 적어놓았다. `.reduce(into: 반환타입) { 반환타입[벨류] = [] }` 로 초기화를 해주었다. 여기에 설명을 덧붙이자면, reduce(into: ) 라는 메서드는 매개변수로 받는 값이 초기값이면서, 그 값의 메모리 주소에 앞으로 오는 인자들을 받겠다는 선언이다. 그래서 반환타입이라 부르는 것도 애초에 그 값으로 시작을 하고 그값이 변경을 거치면서 타입이..