일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 동기화
- @state
- 오브젝트
- Apple Developer Academy
- 비동기
- 파일 시스템
- 동시성
- UserDefaults
- 프로세스 스케줄링
- 가상 메모리
- 인프런
- Codable
- deadlock
- 알고리즘
- core data
- Linked List
- 앨런
- Algorithm
- Swift
- forEach
- 데드락
- SwiftUI
- async
- 운영체제
- struct
- decode
- 상호배제
- IOS
- 100 days of SwiftUI
- Today
- Total
목록전체 글 (258)
기어가더라도 제대로
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/b54mDS/btsJud2R9lq/eaIEyXkKlNAkwjbmSwfA0k/img.jpg)
Why서버에서 API 응답값이 JSON 객체로 오지 않고 String으로 오는 경우가 있었다. 다행이 String의 내용은 일부만 손을 보면 JSON으로 변환이 가능한 수준이였다. (세상은 다양한 예측 불가능한 상황이 있다는 것을 배웠다. JSON도, XML도 아니고 String이라니) Swift에서 String으로 JSON을 만들어서 DTO로 만들어보자.WhatString을 iOS에서 쓰는 객체로 바꾸기 위해서는 중간 단계인 JSON으로 변환하는 과정이 필요하다. 단계별로 설명하자면서버에서 String을 응답으로 받고, (필요하다면 약간의 수정을 거쳐) 이를 JSON으로 변환한 후 struct로 디코딩한다.How// MARK: - 최종적으로 바꾸고 싶은 타입struct Person: Codable { ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/Jj8OJ/btsIYtMiTiw/Pk3N1kPGVnvgIqooLkLeW0/img.jpg)
⚠️ 이 게시글은 iOS 13 이상 기준으로 작성됨⚠️ Nginx 기준 (Apache → https://gist.github.com/anhar/6d50c023f442fb2437e1 참조)⚠️ 웹 서버가 redirection을 하면 적용 안됨사용자가 URL 링크를 클릭했을 때 앱이 설치되어 있으면, 앱 내의 특정 부분으로 이동하는 링크앱이 설치되어있지 않으면 웹 주소가 있다면 웹 주소로 가는 링크구) URI Scheme비슷한 기능을 하던 스킴이 있는데, 프로토콜 부분에 자기네 서비스가 정의한 식별자값을 넣어서 앱을 확인하고 들어가는 링크SomeApp://SomeApp 부분이 앱을 식별하는 부분인데 앱이 많으니까 겹치는 경우가 발생하고한편으론 악의적으로 다른 앱과 겹치게 선언하면 그 앱으로 가는 흐름을 해적..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/wgu8s/btsIIJ8nPCG/DZFdUuoVCMRqpisrOGJEJk/img.jpg)
도입 상황UIBottomSheetPresentater 를 사용하려고 했으나, iOS 15부터 지원이 된다고 하여, 다른 대안을 찾아보던 중 FloatingPanel 이라는 레포지토리가 유명하여 사용법을 익히기로 함도입하는 패키지SnapKit: UI 구현 편의Then: UI 구현 편의FloatingPanel: Bottom Sheet를 사용하기 위함사용법1. 뷰컨트롤러 안에 Botton Sheet를 항상 띄워 놓기ParentViewController: 모달을 가지고 있을 배경 뷰컨트롤러ChildViewController: 모달뷰 안에 구현될 뷰컨트롤러// ParentViewController.swiftclass ParentViewController: UIViewController { var fpc: F..