ios 66

[iOS : Toy Project] Todo List 만들기 (2)

이전 Todo List (1) [iOS : Toy Project] Todo List 만들기 (1) 이번주차 스터디 과제로, 클론 프로젝트를 간단하게 해보기로 했었다! 스터디장님이 올려주신 것 중 나는 흔히 간단하게 다들하는,, Todo List 를 만들어보기로 결정! 이미 만들어진 Project를 따라 yexjinitlog.tistory.com 자세한 코드는 여기로! GitHub - yexjin/iOS_Study: iOS 토이프로젝트 모음집📱 iOS 토이프로젝트 모음집📱. Contribute to yexjin/iOS_Study development by creating an account on GitHub. github.com 8/16 어제 했던 Storage에 이어, 이번엔 싱글톤 객체를 만들 Todo..

iOS/Toy project 2022.08.16

[iOS : Toy Project] Todo List 만들기 (1)

이번주차 스터디 과제로, 클론 프로젝트를 간단하게 해보기로 했었다! 스터디장님이 올려주신 것 중 나는 흔히 간단하게 다들하는,, Todo List 를 만들어보기로 결정! 이미 만들어진 Project를 따라 코딩하면서 화면 구성과 AutoLayout 그리고 Todo List에 필요한 디테일한 기능을 다뤄볼 예정 자세한 코드는 여기로! GitHub - yexjin/iOS_Study: iOS 토이프로젝트 모음집📱 iOS 토이프로젝트 모음집📱. Contribute to yexjin/iOS_Study development by creating an account on GitHub. github.com 8/15 탭바로 묶기 전에 일단 화면부터 구성해보기로! 나 증말.. 지지리도 Auto Layout 못해서 화면 구..

iOS/Toy project 2022.08.15

[Swift] Any / AnyObject

전 포스팅인 타입캐스팅에 이어서 Any / AnyObject 에 대한 포스팅을 해보겠다악 악 이전 포스팅 [Swift] 타입캐스팅 : is, as 💡 타입캐스팅? - 인스턴스의 타입을 확인하거나 인스턴스를 같은 계층(hierachy)에 있는 다른 superclass나 subclass로 취급하는 방법 is Checking Type 말 그대로, 특정 인스턴스의 타입을 확인할 수 있는 yexjinitlog.tistory.com 타입캐스팅은 일반적으로 상속관계에 있는 클래스끼리 가능하지만, Any / AnyObject 타입을 이용할 경우, 상속관계에 상관없이 타입캐스팅이 가능하다 1️⃣ Any - 모든 타입을 저장할 수 있게 해주는 타입 var anyThings: [Any] = [] anyThings.appen..

Swift 2022.08.14

[Swift] 서브스크립트

💡서브스크립트(Subscript)? 클래스, 구조체, 열거형에서 컬렉션, 리스트, 시퀀스 등 타입의 요소에 접근하기 위한 문법 서브스크립트를 사용하면, 추가적인 메소드 없이 특정값을 가져오거나 할당할 수 있다. ➰ 서브스크립트 문법 subscript(index: Int) -> Int { get { // 적절한 Return Value } set(newValue) { // 적절한 Set Action } } 근데 그냥 아래처럼 subscript(index: Int) -> Int { // 적절한 반환 값 } get, set 아무것도 없이 설정할 경우, get으로 동작하게 되서 읽기 전용으로 선언된다. 🚫 get-only는 가능하지만, set-only는 불가능 예제코드로 서브스크립트의 getter와 setter의..

Swift 2022.08.13

[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 (2) : Refactoring

💡 Github Profile Project Refactoring! Refactoring이 이루어질 이전 코드는 위의 링크에서 참고하자 - Resource와 NetworkService를 이용해서 코드를 줄여보자 - Resource 를 이용해서 아래의 코드 줄여보기 = URLRequest 에 필요한 것을 만들어줌 let base = "https://api.github.com/" let path = "users/\(keyword)" let params: [String:String] = [:] let header: [String:String] = ["Content-Type":"application/json"] var urlComponents = URLComponents(string: base+path)! le..

iOS/Toy project 2022.07.17

[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] iOS에서의 네트워크

1️⃣ URLSession iOS 네트워크 작업을 도와줌 URLSesstion을 이용해서 서버와 소통 URLSessionConfiguration .default - 디스크를 이용한 정보 저장을 하는 configuration - 그냥 브라우저를 띄울 때 .ephemeral - default랑 비슷핸데, 몇가지 정보들을 저장하지 않음 (쿠키, 인증서 등) - 브라우저 시크릿 모드라고 생각하면 쉬움 .background - 네트워크를 통해, 파일다운로드 받을 때 - 앱이 백그라운드에서 돌 때도, 다운도르 시켜줄 수 있음 URLSession : contifuration을 보고, 세션을 생성 URLSessionTask dataTask uploadTask downloadTask 2️⃣ Codable - swift ..

iOS 2022.07.14

[iOS : Toy Project] Apple Framework List (4) : Combine

➰ 이전 코드 내용 Apple Framework List(1) Apple Framework List(2) Apple Framework List(3) : Modal ➰ Combine 개념 정리 Combine(1) : Overview Combine(2) : Publisher/Subscriber/Operator 💡 Apple Framework List(4)에서 할 것은 Combine 적용! - Combine을 적용할 View Controller에 Combine을 Import 해야함! 일단, 이전 코드를 정리해볼까? 이전코드 // FrameworkListViewController.swift import UIKit class FrameworkListViewController: UIViewController { /..

iOS/Toy project 2022.07.08

[iOS] Combine (2) : Publisher / Subscriber / Operator

Combine(1)에서 간단히 정의한 Publisher / Subscriber / Operator 1️⃣ Publisher - 생산자 2️⃣ Subscriber - 소비자 3️⃣ Operator - 가공자 Event Stream(Event Pipeline) - Publisher → Operator → Subsciber - 위와 같은 순서에서 어떠한 이벤트들이 생길지 모르니, Combine이라는 비동기 Framework가 필요함! 더 자세히 알아보자! 1️⃣ Publisher protocol Publisher { associatedtype Output// 구체적인 Output 정의 associatedtype Failure: Error// 구체적인 Failure 정의 func subscribe(_ subsc..

iOS 2022.07.03