목록전체 글 (25)
개발을 잘하고 싶은 주니어?
URLSessionTask session task에는 세가지 타입이 있습니다. URLSessionDataTask : 서버에서 데이터를 검색하기 위한 GET요청을 할 때 사용합니다. URLSessionUploadTask : 디스크의 파일을 웹에 업로드하기 위해서 사용합니다. (POST, PUT) URLSessionDownloadTask : 파일을 다운로드할 때 사용합니다. 또한, task를 중지, 재개, 취소할 수도 있습니다. 일반적으로, URLSession은 두가지 방법으로 데이터를 리턴합니다. 1. task가 끝나고 나서, completion handler의 파라미터를 통해 데이터를 리턴함 2. session delegate 메서드를 호출해서 데이터를 리턴함 DataTask & DownloadTask
앞서 Diffable Data Source 공부하기 - 1 (이론)에서 알 수 있듯이 diffable은 현재 화면에 보이는 아이템을 업데이트할 때마다 collection view가 자동으로 업데이트된 collection과 이전의 것의 차이를 계산해줍니다. 또한 data source의 값과 collection view가 알고있는 값의 동기화도 해주고 그런 데이터 변화의 관리도 맡아서 합니다. 예시 동영상 Section, Item 클래스 생성 UICollectionViewDiffableDataSource는 두개의 generic 타입을 가집니다. (Section 타입과 item 타입) section type은 다음과 같이 class 타입으로 만들어 줍니다. 만약 고정된 개수와 고정된 섹션을 가진다면 enum ..
오늘은 앞에서 배운 URLSession 개념을 이용해서 실제로 서버와 통신을 해보겠습니다. 제 경험을 봤을 때 이 부분은 실제로 과제 코딩 테스트가 있을 때 자주 나왔던 주제입니다. 그때 당시(라고 해봤자 한두달전...)에는 몰랐던 개념이었어서 당황을 해서 결국은 통과를 하지 못했었는데요... 다시는 그런 일이 없도록 공부를 해보겠습니다..! 이번 실습에서 사용할 url은 애플에서 제공하는 아이튠즈 사이트에서 제공하는 것입니다. itunes search api라고 해서 구글에 검색을 해보시면 관련 내용을 찾아볼 수 있습니다. 물론 바로 찾으실 수 있게 링크도 제공해드립니다! https://developer.apple.com/library/archive/documentation/AudioVideo/Conc..
취업 준비와 면접 준비 때문에 점점 게시글을 올리는게 힘들어지네요.. 그래도 힘내서 iOS공부 하겠습니다..! 혼자서 각종 이슈를 해결하고 스스로 앱 개발을 할 수 있을 때까지...!!!! 화이팅!!!! URLSession 애플 개발 문서에서 URLSession을 다음과 같이 말합니다. 대충 해석해보면 관련 있는 네트워크 데이터의 이동을 관리하는? 객체라고 합니다. 실제로 서버에 데이터를 보내거나 받을 때 이 URLSession 클래스의 도움을 받습니다. URLSession클래스는 데이터를 다운로드, 업로드하거나 서버로부터 데이터를 받는 기능을 가진 api를 제공합니다. 이 api를 이용해서 앱이 실행되고 있지 않을 때 백그라운드에서 다운로드를 수행할 수 있습니다. URLSessionDelegate를 이..
UICollectionViewDiffableDataSource iOS 13 전에는 UICollectionViewDataSource를 채택해서 data source 설정했습니다. 이 프로토콜은 무슨 셀이 화면에 보일지, 몇 개의 셀이 보일지, section 관련 정보와 같은 데이터 정보를 collection view에게 알려줍니다. UICollectionViewDiffableDataSource는 UICollectionViewDataSource와 유사하지만 에러(데이터와 ui가 맞지 않는?)를 발생시킬 가능성이 적습니다. diffable은 화면에 보여질 아이템이 업데이트될 때마다 collection view가 자동으로 업데이트된 상태와 이전의 상태의 차이를 계산한다는 의미입니다. 차이를 계산하고 나면 차이(..
요즘 앱들은 여러 개의 섹션에서 따로 collection view로 되어 있고, 좀 더 다양한 레이아웃으로 이루어져 있습니다. 하지만 이것을 UICollectionViewFlowLayout으로 구현하기에는 한계가 있습니다. 그래서 UICollectionViewCompositionalLayout을 이용해서 더 flexible 한 collection view를 구성하도록 합니다. (iOS 13 or 14 이상의 디바이스에서만 지원됩니다.) Collection view 구성 compositional layout을 보기 전에 collection view의 레이아웃을 살펴 보겠습니다. collection view는 여러 개의 items를 반복해서 보여줍니다. 또한 이 item group을 Sections으로 보여..
우선순위는 Constraints가 뷰의 원래 크기보다 크거나 작게 만들려고 할 때 어떻게 행동해야 하는지를 알려줍니다. Content hugging Priority : 뷰의 원래 사이즈보다 커지려는 것을 막습니다. Compression-Resistance Priority : 뷰의 원래 사이즈보다 작아지려는 것을 막습니다. 사진을 보면 쉽게 이해가 되는데 Content Hugging의 우선순위가 큰 뷰는 뷰의 원래사이즈보다 커지는 것을 막기 때문에 원래 사이즈를 유지합니다. Compression-Resistance의 우선순위가 큰 뷰는 뷰가 작아지는 것을 막기 때문에 원래 사이즈를 유지합니다. Intrinsic Size 뷰는 모두 본래의 크기를 가집니다. 이것은 보통 content와 margin에 의해서 ..