ios 66

[iOS] Combine (1) : Overview

동기 vs 비동기 1️⃣ 동기? - 요청과 결과가 동시에 2️⃣ 비동기? - 요청에 대한 결과가 언제 나타날 지 모름 모바일 개발에서 비동기 작업은 굉장히 많음! - 서버에서 데이터를 받아와서 페이지에 보여주는데 걸리는 시간 - 사용자의 버튼 인터렉션 (언제 버튼을 클릭할 지 모르는 것) 📌 Combine? - 효율적인 비동기 처리 방식 - 여러 비동기 처리 방식들 (Target/Action, Notification Center...) 대신 통합된 비동기 처리방식이 필요하여 Combine 등장 - 일관된 방식으로 비동기 처리할 수 있는 API를 Combine으로 제공! 🍎 Apple이 정의한 Combine! - A unified, declarative API for processing values ove..

iOS 2022.07.03

[iOS : Toy Project] Head Space Focus (2) : Navigation

➰ 이전 코드 내용 Head Space Focus 💡Head Space Focus(2)에서 할 것은 Navigation 구현! - 상세 뷰로 넘어가게 하기! ❗️Navigation을 구현할 때는, 사용자가 최대한 개미지옥에서 탈출할 수 있도록 구현해줘야 함을 잊지말자! 1️⃣ 상세 뷰를 위한 다른 Storyboard, View Controller 만들기 - QuickFocusStoryboard - QuickFocusListViewController - 새로운 스토리보드의 Class와 Storyboard ID 까아쥐 2️⃣ 화면의 Component, AutoLayout 설정 - CollectionView 이용 → CollectionViewCell도 필요하겠지? "QuickFocusCell" 만들기 // Q..

iOS/Toy project 2022.06.30

[iOS : Toy Project] Apple Framework List (3) : Modal

➰ 이전 코드 내용 Apple Framework List(1) Apple Framework List(2) 💡 Apple Framework List(3)에서 할 것은 Modal 구현! - 각 아이템들을 눌렀을 때, 상태뷰가 모달로 띄워지는 것을 구현할 것이다. 1️⃣ Detail View를 위한, Storyboard 파일 만들기 2️⃣ Detail View를 위한 ViewController 만들기 - FrameworkDetailViewController 3️⃣ Detail View 컴포넌트와 AutoLayout 설정 4️⃣ Modal 띄우기 // FrameworkListViewController.swift // item이 선택되었을 때 효과 넣기 extension FrameworkListViewContro..

iOS/Toy project 2022.06.29

[iOS] Navigation과 Modal

💡Navigation과 Modal의 필요성? - 사용자가 서비스 제공자의 의도를 잘 인지하게 도와주고, 앱 사용성을 쉽게 이해하게 도와주기 위해서 1️⃣ Modal 의 종류 1. iOS에서 제공하는 시스템 모달 alert activity views share sheets action sheets 2. 직접 개발 (모달을 띄우는 스타일) automatic → pageSheet 형태 fullscreen popover page sheet & form sheet current context custom 🚀 Modal 구현 - 뷰컨트롤러의 present(_:animated:completion:) 메소드를 사용 2️⃣ iOS의 주요 Navigation 스타일 Hierarchical Navigation : 설정앱 F..

iOS 2022.06.29

[iOS : Toy Project] Spotify Paywall : CollectionView, Paging Control

📌 열번째 프로젝트 스포티파이 구매뷰 앱을 만들어보자 요번 포스팅부터는 ViewController 등 기본 세팅과 AutoLayout의 내용들은 다루지 않겠다! (기억해둘건 당연히 메모해둘것) 1️⃣ AutoLayout 2️⃣ CollectionViewCell 만들기 - BannerCell 이란 이름의 CollectionView cell // // BannerCell.swift // SpotifyPaywall // // Created by 오예진 on 2022/06/28. // import UIKit class BannerCell: UICollectionViewCell { @IBOutlet weak var titleLabel: UILabel! @IBOutlet weak var descriptionLabe..

iOS/Toy project 2022.06.28

[iOS : Toy Project] Head Space Focus

📌 아홉번째 프로젝트 명상 컨텐츠 리스트 앱을 만들어보자 1️⃣ Data 확인 및 SearchViewController 만들기 - 이전 프로젝트들과 마찬가지로 패캠에서 제공해준 데이터들을 사용 - "FocusViewController" 이름의 UIViewController을 만들어서, Main storyboard와 연결까지 완료 2️⃣ CollectionView AutoLayout 설정 - Description과 ContentView와의 관계에서 bottom을 30 이상이 되게 하면 이렇게 빨간색 에러점이 뜨게 되는데, 일단 이건 어쩔 수 없으니까 넘어간다. 3️⃣ UICollectionViewCell 만들기 - "FocusCell" 이름의 UICollectionViewCell을 만들어서 Collecti..

iOS/Toy project 2022.06.07

[iOS : Toy Project] Diffable DataSource, Compositional Layout을 이용해 프로젝트 개선하기

기존 Apple Framework List https://yexjinitlog.tistory.com/98?category=1022295 diffable datasource dataSource = UICollectionViewDiffableDataSource(collectionView: collectionView, cellProvider: { collectionView, indexPath, item in guard let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "FrameworkCell", for: indexPath) as? FrameworkCell else { return nil } cell.configure(item) // ite..

iOS/Toy project 2022.06.04

[iOS] Diffable DataSource, SnapShot, Compositional Layout

1️⃣ UICollectionView의 Data, Presentation 이슈 - 기존 UICollectionView의 구현방법을 살펴보면, Controller가 데이터를 받아와서 UI에게 변경을 알린다. - 여기서, Controller와 UI가 가지고 있는 데이터가 서로 다른 이슈가 생길 수 있다. → 앱에서는 어느 데이터가 맞는건지 확인하기 어려움 Single Source Of Truth Data의 필요성 증가 - 이 이슈의 근본적인 문제 해결 방식은 참인 데이터를 하나만 두도록 하는 것이다. → Single Source Of Truth - 그래서 제안된 방법 Diffable DataSource Diffable DataSource ? Diffable DataSource는 Data Source와 달리,..

iOS 2022.06.04

[iOS : Toy Project] NRC Onboarding

📌 일곱번째 프로젝트 NRC Onboarding 앱을 만들어보자 1️⃣ Data 확인 및 SearchViewController 만들기 - 이전 프로젝트들과 마찬가지로 패캠에서 제공해준 데이터들을 사용 - "OnboardingViewController" 이름의 UIViewController을 만들어서, Main storyboard와 연결까지 완료 2️⃣ 배경이미지 넣기 - 배경 이미지는 Assest에 있음 3️⃣ StackView를 이용하여 하단에 버튼 넣기 4️⃣ Page Control + Collection View - View에 수평방향 맞게하고, StackView와의 vertical 거리는 40으로! 5️⃣ UICollectionViewCell 만들기 - "OnboardingCell" 이라는 이름으..

iOS/Toy project 2022.05.31

[iOS] UICollectionView와 UIScrollView 사이의 관계

CollectionView는 상하 혹은 좌우로 Scroll이 가능하다..! 사실 UICollectionView는 UIScrollView의 속성을 가지고 있다. CollectionView에서 Scroll되는 상황을 파악하고 싶다면 UIScrollViewDelegate에서 파악이 가능하다! 코드는 이전에 진행했던 토이플젝에서 가져왔다. extension OnboardingViewController: UIScrollViewDelegate { func scrollViewDidScroll(_ scrollView: UIScrollView) { print(scrollView.contentOffset) } } 이처럼 contentOffset을 사용하면 스크롤이 되는 동안 얼마나 움직이게 되는지 알 수 있다. 스크롤되며..

iOS 2022.05.30