Swift 64

[Swift] zip(_:_:)

zip(_:_:) - 두개의 시퀀스를 가지고 하나의 시퀀스 쌍을 만들어냄 let words = ["one", "two", "three", "four"] let numbers = 1...4 for (word, number) in zip(words, numbers) { print("\(word): \(number)") } // Prints "one: 1" // Prints "two: 2 // Prints "three: 3" // Prints "four: 4" 배열의 짝을 맞추는 데에 사용될 수 있음 예를 들어 arr1 = [[3, 4], [5, 6]] arr2 = [[3, 4], [5, 6]] arr3 = [[6, 8], [10, 12]] 이렇게 arr1, arr2의 각 원소를 더해 arr3를 만들어보자 i..

Swift 2022.07.27

[iOS : Toy Project] Github Profile (1)

💡 Network을 이용해, Github 프로필 가져오기! 들어가기에 앞서,, SearchViewController에 Component 연결까지도 되어있다! 일단 ViewController에서 해줘야 할 일은 setupUI : UI 세팅 userProfile 데이터 확인 Binding : User가 업데이트 되면, UI까지 업데이트 되게! searchControl 세팅 network 세팅 이다. 천천히 해보자! 1️⃣ setupUI private func setupUI() { // thumbnail 이미지 Radius 설정 thumbnail.layer.cornerRadius = 80 } 2️⃣ userProfile 데이터 Binding var subscriptions = Set() @Published p..

iOS/Toy project 2022.07.16

[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