minuco
반응형
[swift]커스텀 프리뷰사용방법
iOS/Swift 2023. 4. 16. 22:59

1. 사용방법 Preview를 보고 싶은 곳에서 아래 코드를 사용합니다. makeUIViewController(context: Context) 내부에서 이름을 Preview를 보고 싶은 ViewController 이름으로 변경해 주시면 됩니다. #if DEBUG import SwiftUI struct Preview: UIViewControllerRepresentable { // 여기 ViewController를 변경해주세요func makeUIViewController(context: Context) -> UIViewController { ViewController() } func updateUIViewController(_ uiView: UIViewController,context: Context) { ..

[Swift Network] URLSession
iOS/Swift 2023. 4. 12. 18:53

URLSession iOS을 개발하면서 데이터를 공유받는 방법 중 REST API를 주로 사용한다. URLSession은 REST API를 사용하기 위한 Swift 기술 중 하나이다. 동작 순서는 URLSessionConfiguration 결정 -> URLSession 객체 생성 -> 사용할 Task 결정 -> 필요한 Response 메서드 작성 -> Task 실행 -> Task 완료 -> Response 메서드 실행 URLSessionConfiguration 결정 URLSessionConfiguration은 URLSession 객체를 생성하기 위한 클래스이다. 공식문서에서는 URLsession의 동작과 정책을 정의하는 설정 객체라고 정의돼어져 있다. [공식문서] URLSessionConfiguratio..

article thumbnail
[Swift Network] URLSession - 사전지식
iOS/Swift 2023. 4. 12. 10:21

네트워크의 기원을 정리해 보고, URLSession을 공부해 볼 거다. URLSession을 공부함에 있어 필요한 지식은 아니니 "사전지식" 부분은 안 읽으셔도 무방함. 사전지식 네트워크 역사 네트워크라는 개념은 서로 자원을 공유할 수 있도록 결합된 각각 독립된 컴퓨터기능의 집합이다. 목적은 지리적으로 분산된 두대 이상의 독립된 컴퓨터가 어떠한 목적을 가지고 결합(연결)된 상태를 의미한다. 1971년 미국 국방선을 중심으로 미국의 대학들과 연구기관이 다수 컴퓨터와 단말장치를 디지털 회선으로 접속하여 임의의 컴퓨터에 원격 접속할 수 있는 ARPANET 탄생시킴. ARPANET 인터넷의 시초라고 볼 수 있고 인터넷의 기반기술인 패킷 교환(TCP/IP) 네트워크를 최초로 구현되고, 그 이후 1990년대 초에 ..

article thumbnail
[Swift] Closure - 축약
iOS/Swift 2023. 3. 23. 16:58

안녕하세요. minuco입니다. 진짜 마지막! closure 가 간결해지는 순서를 알아볼 거예요 내장 closure인 sort를 예로 들겠습니다! Closure를 간결하게 우선 arry를 하나 만들고 sort 함수를 호출하는 과정을 축약해 보겠습니다. (sort함수는 기본적으로 오름차순으로 정렬된다.) var names = ["abcd","bacd","cabd","dabc"] // 형태: sort(by: (String, String) throws -> Bool) //1. 기본 형태 names.sort(by: {(lhs: String, rhs: String) -> Bool in // lhs(left hand side)왼쪽, rhs(right hand side)오른쪽. return lhs > rhs }) /..

article thumbnail
[Swift] Closure - escaping
iOS/Swift 2023. 3. 23. 15:45

안녕하세요, minuco입니다. :) 마지막입니다. 우리가 지금까지 공부했던 Closure는 Non_Escapin Closure입니다. 즉, 함수에서 파라미터로 전달될 때 일반적으로 함수가 반환되기 전에 실행되는 Closure입니다. Non-Escaping Closure 일반적인 Closure func showString(completion: () -> Void) { completion() // 실행하고 종료 } showString { print("a") } // 일반적인 Closure는 호출은 Function 안에서 종료된다. 클로저가 실행되는 순서를 보면, closure가 showString() 함수의 completion 인자로 전달되고, 함수 내부에서 closure type completion이 실..

article thumbnail
[Swift] Closure - Capturing
iOS/Swift 2023. 3. 23. 12:44

Closure - Capturting Value 우선, referunce type과 value type에 대해서 알아보자, referunce type class, function, closure 등이있고, 대표적으로는 class를 많이 이야기한다. class의 인스턴스를 생성할 때, 인스턴스를 가리키는 포인터가 생성되는데 이 포인터는 생성된 인스턴스여 주소를 참조하게 된다. (클로저에서 class 인스턴스에 대한 참조를 캡처하면 클로저의 내부의 인스턴스에 대한 모든 변경 사항이 클로저 외부의 원래 인스턴스에도 반영된다.) 이와달리 value type은 해당 값의 복사본을 생성하여 사용하는 데이터타입을 말한다. 대표적으로는 struct, enum, String, Array, Dictionary 등이 있다...

article thumbnail
[Swift] Closure 기본 개념
iOS/Swift 2023. 3. 20. 18:42

안녕하세요 :) minuco입니다. Closure 왜 사용할까?? 클로저를 사용하면, 코드 중복 & 가독성 향상! : 비슷한 기능의 코드를 하나로 묶어서 재사용할 수 있다. : 함수나 메서드의 인자로 전달하는 코드를 간결하게 작성할 수 있다.(경량 문법) : 비동기 처리에도 용이! Closure 종류 Named Closure(함수)와 UnNamed Closure(익명함수) Named Closure는 func이라는 키워드가 붙고 함수라 부르고, UnNamed Closure는 Closure라 부른다. //1. function (named closure) func plus(a: Int, b: Int) -> Int { return a + b } //2. closure (unnamed closure) { (a: ..

반응형