일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 알고리즘
- SwiftUI
- 가상 메모리
- 프로세스 스케줄링
- 앨런
- 동시성
- @state
- UserDefaults
- core data
- 오브젝트
- forEach
- deadlock
- Linked List
- 비동기
- Swift
- Algorithm
- Codable
- COLOR
- 상호배제
- 인프런
- 운영체제
- scrollview
- async
- struct
- Apple Developer Academy
- 동기화
- 데드락
- decode
- IOS
- 100 days of SwiftUI
- Today
- Total
목록Await (2)
기어가더라도 제대로
1. 비동기 처리를 위한 Completion Handler 비동기 처리를 위해서 Completion handler를 많이 사용 문제점 비동기 작업이 실패하더라도 이 함수의 호출자(Caller)는 결과를 마냥 기다림 guard else { return } 을 사용하면 completion 에 담지 않아도 되는 경우가 생김 에러 핸들링을 강제할 수가 없다는 게 문제 func fetchThumbnail(for id: String, completion: @escaping (UIImage?, Error?) -> Void) { let request = thumbnailURLRequest(for: id) let task = URLSession.shared.dataTask(with: request) { data, res..
iTunes API 를 이용해서 데이터를 받아올 겁니다. 기반 사항은 이렇습니다. 리스트로 뿌려주는 간단한 코드 struct Response: Codable { var results: [Result] } struct Result: Codable { var trackId: Int var trackName: String var collectionName: String } struct MusicView: View { @State private var results = [Result]() var body: some View { List(results, id: \.trackId) { result in VStack(alignment: .leading) { Text(result.trackName) .font(.hea..