일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 청년취업사관학교후기
- 조건문
- flutter #state # stateful #stateless
- collectionView
- 스터디
- 새싹후기
- Masil
- process
- SwiftUI
- CS193p
- Swift
- colorofdays
- UIKit
- 코딩테스트
- xcode
- 백준
- UserDefault
- xml
- flutter
- 알고리즘
- 오늘의 색상
- 스위프트
- WidgetTree
- ImageSlider
- 프로그래머스
- IOS
- 프로젝트회고
- MVVM
- GIT
- stanford
- Today
- Total
개발을 시작하는 이야기
05. Xcode Push Error, API 콜제한 본문
XMLParser를 성공적으로 마무리 하고, Data 활용시 API에서 바로 정보를 받아오려고 하였으나,
Realm에 모두 저장을 했기 때문에 Realm에서 불러오는 형식으로 교체를 했다.
이때 Xcode에서 Push를 하게되면
The local repository is out of date. Make sure all changes have been pulled from the remote repository and try again.
위와 같은 에러가 발생하기 시작했다.
일단은 Fetch Changes와 Refresh File Status를 해보았지만 효과가 없었음.
그리고 누군가 로그아웃 하고 재로그인 하면 된다고 해서 해봤는데 일단 효과는 없었는데 정답은 역시나 문구에 있었고
local repository가 변경되어서 Pull을 먼저 한번 해서 repository를 갱신 했더니 잘 되었다.
XML의 Data를 로딩하며 통째로 불러왔더니 금세 API의 콜제한에 걸렸다.
혼자 테스트 하면서 사용중인데도 막힌다면, 앱을 배포할수 없을 만큼의 심각한 문제였다,
일단 대책으론 문화재청의 데이터를 파일로 저장해서 Realm에서 File로 데이터를 받아오는 방식을 채용했다.
데이터를 받아올때도 동기와 비동기 방식에 대해 고민을 해야 했다.
동기 : 요청 결과가 동시에 일어난다. 요청을 하면 시간이 얼마나 걸리던지 요청한 자리에서 결과가 주어져야 하는 방식
설계가 매우 간단하고 직관적이나, 결과가 주어질 때까지 대기를 해야 한다.
비동기 : 요청 결과가 동시에 일어나지 않는다. 요청을 하면 결과에 상관없이 다른 작업 수행이 가능하다.
동기보다는 복잡하지만 결과가 주어지는 시간이 길어져도 그 시간 동안 다른 작업을 할 수 있다.
일단은 동기 방식으로 Splash 화면에서 실행되도록 해두었지만 추후에 비동기 방식을 구현을 해서 비교해보고 하나를 채택하기로 하였다.
'개발 이야기 > 우리동네 문화유산 :: JHeritage' 카테고리의 다른 글
07.SearchController, SegmentControl 설정 (0) | 2022.03.11 |
---|---|
06. TableView의 오류 그리고 CellSwipe (0) | 2022.03.10 |
04.XMLParser 02 (0) | 2022.03.08 |
04. XMLParser 01 (0) | 2022.03.07 |
03.개발환경 구축 및 API연구? (0) | 2022.03.04 |