반응형

전체 글 326

[Swift] Search 결과 UICollectionView로 표현(서드파티 라이브러리 사용)

오늘 할 일은 Search했을 때 검색에 해당하는 데이터를 UICollectionView로 표현할 건데, 데이터는 ImagePath(String)타입인데, UICollectionView에는 이미지가 들어가야 하므로, 서드파티 라이브러리를 사용하여 이를 적용시켜 Collection View에 이미지가 보여지는 것을 진행 해 보겠습니다. 오늘의 목표 먼저 영상 확인 하시죠 할 일 1. 뷰컨트롤러에 UICollectionViewDataSource, UICollectionViewDelegate, UICollectionViewDelegateFlowLayout 추가하기 2. 받아온 파일 업데이트 시켜주기 3. Thread 오류 해결하기 4. 서드파티 라이브러리고 데이터->image로 표현 1. 뷰컨트롤러에 UICo..

[Swift] SearchAPI를 구현해 보자.

할 일 1. Response, Movie structure만들기 2. struct의 프로퍼티 이름과 실제 데이터의 key 맞추기(Codable 디코딩하게 하기 위해서) 3. 파싱하고 Movie 정보 출력하기 1. Response, Movie structure만들기 2. struct의 프로퍼티 이름과 실제 데이터의 key 맞추기(Codable 디코딩하게 하기 위해서) struct Response: Codable { let resultCount: Int let movies: [Movie] enum CodingKeys: String, CodingKey { case resultCount case movies = "results" } } struct Movie: Codable { let title: Strin..

[원주 맛집] 원주 맛집 까치둥지 (알탕)

원주에 알탕 맛집인 까치둥지를 다녀왔습니다. 점심을 먹으러 갔고, 가보니 줄을 서서 먹는 곳이더라구요.. 저희는 앞에 15팀정도 있었고 번호표를 받고 가게 앞에서 대기했습니다. 대기줄이 항상 길어서 점심 breakTime 이내에 드시려면 조금 일찍 가셔야 합니다. 기본 반찬이 대부분 맛있어서 알탕이 끓기전 반찬으로만 밥을 1공기 다 먹어버렸습니다.ㅎㅎ 알탕은 1인에 13,000 알 추가는 9,000 곤이 추가는 8,000 공기밥 1,000입니다. 동태 알들...... 오니와 쑥....... 생긴게 징그러워서 못드시는 분들 계신데 맛은 생긴거와 달리 너무 고소하고 맛있습니다. 국물은 얼큰해요.... 줄 서서 먹지만 테이블이 꽤 많아서 저희는 한 40분정도 기다렸습니다. 원주가면 꼭 한번 가보세요~~~ 총점..

[Swift]SearchBar 키보드 내려주기, ViewController와 해야 할 일

오늘은 SearchBar에서 발생하는 일들을 먼저 제어해 주도록 하겠습니다 SearchBar에서 검색한 결과는 ViewController에게 결과를 위임하여 수행한 일들을 표시할 수 있습니다. ViewController와 Delgate설정을 해줘야 합니다. = UISearchBarDelegate ViewController와 SearchBar, CollectionView를 연결하는 과정은 생략하도록 하고 오늘의 목표 1. 키보드가 올라와서 검색 눌렀을 때 키보드 내려가는 메서드 만들어주기 2. search버튼 눌렀을 때 ViewController에게 알려주고 키보드 내려주기 (1.을 이용하여) 3. 검색어가 없다면 값을 반환하지 않기 오늘의 목표 영상으로 먼저 감상하시죠 영상으로 먼저 감상하시죠. 1. ..

[Swift] URLSession으로 받은 데이터를 오브젝트로 가져오기(

오늘의 목표: URLSession으로 받은 트랙리스트 오브젝트로 가져오기입니다. 할 일 1. Response, Track struct 만들기 2. struct의 프로퍼티 이름과 실제 데이터의 key 맞추기(Codable 디코딩하게 하기 위해서) 3. 파싱하고 트랙 정보 출력하기 1. Response, Track struct만들기 struct Response: Codable { //Codable프로토콜을 준수하겠다는 의미입니다. let resultCount: Int let tracks: [Track] struct Track: Codable { let title: String let artistName: String let thumbnailPath: String Structure를 구성했다면, 이 Sturc..

iOS/Swift 문법 2022.03.24

[Swift] URLSession을 통한 Networking(코드확인 편)

지난 블로그에서는 URLSession에 개요에 대해서 한번 살펴봤습니다. https://accompani-i.tistory.com/146 [Swift]URLSession을 통한 네트워킹 IOS에서 http를 이용한 네트워킹은 어떻게 할까요? 바로 URLSession을 사용 하여 네트워킹을 합니다. URLSession URLSession은 URLSessionConfiguration을 이용하여 생성합니다. (configuration = 배열,배치) URLS.. accompani-i.tistory.com 오늘은 코드로 한번 알아보겠습니다. 1. URLSessionConfiguration을 할당하고 2. URLSession이 Configuration 사용합니다. 3. URLSession은 여러가지 Task수행합..

iOS/Swift 문법 2022.03.24

[Swift]URLSession을 통한 네트워킹

IOS에서 http를 이용한 네트워킹은 어떻게 할까요? 바로 URLSession을 사용 하여 네트워킹을 합니다. URLSession URLSession은 URLSessionConfiguration을 이용하여 생성합니다. (configuration = 배열,배치) URLSession은 여러개의 URLSessionTask를 생성 가능합니다. 실제로 URLSessionTask를 통하여 서버와 통신을 합니다. URLSessionDelegate을 통해서 네트워킹 과정을 살펴볼 수 있습니다. URLSessionConfiguration URLSessionConfiguration 생성 할 때는 Default, Ephemeral, Background 세 가지 타입으로 설정 할 수 있습니다. Default: 기본 통신(대..

iOS/Swift 문법 2022.03.23

[Swift] GCD / Queue / Sync 와Async 차이

IOS개발하면서, 동시성을 제공해 주기위해 사용할 수 있는 API에 GCD가 있습니다. API란? Application Programming Interface의 약자로 언어로 응용프로그램을 만들 때, 1000여개 이상의 함수로 구성된 운영체제와 응용프로그램의 통신에 사용되는 인터페이스입니다. GCD란? Grand Central Patch의 약자로 애플은 GCD provides and manages FIFO queues to which your application can submit tasks in the form of block objects. Work submitted to dispatch queues are executed on a pool of threads fully managed by the ..

iOS/Swift 문법 2022.03.23

[Swift] Networking, Concurrency(동시성)

Concurrency란? 한번에 여러가지 일을 수행하는 것입니다. 앱이 하는 일 사용자 인터랙션 처리 서버와 네트워킹 백그라운드에서 파일 다운로드 파일 저장하고 읽기 네트워킹 하느라 사용자 인터랙션 처리를 안해주면 사용자가 열받아 합니다. 그래서 동시성이 중요합니다. 작업1 = 사용자 인터랙션 처리 작업2 = 서버와 네트워킹 작업3 = 백그라운드에서 파일 다운로드 작업4 = 파일 저장하고 읽기 작업1 = 스레드1 작업2 = 스레드2 작업3 = 스레드3 작업4 = 스레드4 컴퓨터는 스레드 1,2,3,4를 거의 동시에(사용자가 못느끼게끔) 처리해야 합니다. 이것을 동시성이라고 합니다. 사용자 인터랙션 처리 = Main Thread -> UI표시 작업합니다. 나머지 무거운 작업들 = 나머지 234 Thread..

iOS/Swift 문법 2022.03.23

[Swift] 뮤직 앱 Seeking

1. TimeOberver 2. 시간 정보 업데이트 3. 슬라이더 정보 업데이트 4. seeking 1. TimeObserver updatePlayButton() updateTime(time: CMTime.zero) timeObserver = simplePlayer.addPeriodicTimeObserver(forInterval: CMTime(seconds: 1, preferredTimescale: 10), queue: DispatchQueue.main, using: { time in self.updateTime(time: time) }) //곡에 해당하는 현재 시간을 받아서 업데이트 시키기 //CMTime(seconds: 1, preferredTimescale: 10) //= 0.1초 시간(기준시간)과..

반응형