본문 바로가기
개린이 이야기

2022년 03월 22일의 이야기

by iOS 개린이 2022. 3. 22.

1. 네트워킹을 위한 URL세션 사용

-step 1 : Create a URL                  step 2 : Create a URLSession 

 step 3 : Give URLSession a task     step 3 : Start the task 

-앱과 서버 간의 데이터를 주고 받기 위해서는 HTTP 프로토콜을 이용해서 데이터를 주고받는다.

-앱에서 서버와 통신하기 위해 애플이 제공하는 API이다.

-HTTP를 포함한 몇 가지 프로토콜을 지원하고 인증, 쿠키 관리, 캐시 관리 등을 지원 

-ios 앱에서 네트워킹을 하기 위해 필요한 API이다. 

 

2. 스위프트 딥 다이빙(closures)

-closure에는 named closure와 unnamed closure가 있다. 우리가 함수선언과 함수이름을 붙여 준 것이 모두 named closure 인 것이다. 단지 클로저라 부르지 않고 함수라고 부르는 것일 뿐이다. unnamed closure는 익명함수로 이름을 붙이지 않고 사용하는 함수를 말한다. Swift) 클로저(Closure) 정복하기(1/3) - 클로저, 누구냐 넌 (tistory.com)

 

Swift) 클로저(Closure) 정복하기(1/3) - 클로저, 누구냐 넌

안녕하세요 :) 소들입니다 으휴 저번 주도 쓸데없이 바빴어서 포스팅을 못했네용 나태한 저번주의 나를 반성하며.. 하암..🥱 음 전에 제가 Swift의 꽃이 Optional이라고 말한 적 있는데, Optional 만큼

babbab2.tistory.com

-closure는 변수나 상수에 대입할 수 있고, 대입된 변수나 상수로 실행도 가능하다.

 

-func name(firstNumber : int , secondNumber : int) -> int {  return firstNumber + secondNumber } 

위의 함수를 클로저로 변환하는 방법은 1. func와 함수 이름을 삭제 시킨다.

2. 첫 번째 중괄호를 맨 앞으로 빼준다. 

3. 반환유형 옆에 in을 붙여준다. ex) { (firstNumber : int , secondNumber : int) -> int in return firstNumber + secondNumber }

 

-func calculator( n1: int, n2 : int, operation : (int, int) -> int ) -> int { return operation( n1, n2 ) } 

 func multiply(no1: int, no2: int) -> int { return no1 * no2 }

 calculator( n1: 2, n2: 3, operation : multiply ) 

 

위의 식을 클로저를 이용하여 훨씬 간결하게 만들 수 있다. 먼저 multiply 함수를 클로저로 만든 후 operation에 넣어준다. 

calculator( n1: 2, n2: 3, operation : { (no1: int, no2 : int) -> int in return no1 * no2}

스위프트에서는 형식을 자동으로 추론하는 기능이 있기 때문에 매개변수의 형식지정과 반환형식을 삭제해줘도 된다. 

calculator( n1: 2, n2: 3, operation : { (no1, no2 ) in return no1 * no2} 

컴파일러는 어떤 것을 반환할 지 자동으로 추론해주어서 return도 삭제가 가능하다. 

calculator( n1: 2, n2: 3, operation : { (no1, no2 ) in no1 * no2} 

$0, $1 처럼 달러 기호가 들어가면 매개 변수이라는 것을 뜻한다. 이를 이용하여 더 간결한 식이 가능하다.

calculator( n1: 2, n2: 3, operation : { $0 * $1 }  

식을 이렇게 간결하게 만들면 가독성이 많이 떨어지기 때문에 우리는 항상 가독성과 간결성 그 적합한 지점을 찾아서 코드를 작성해야 한다. 

 

-고차함수는 다른 함수를 전달인자로 받거나 함수실행의 결과를 함수로 반환하는 함수를 뜻한다. 고차함수 중 하나인 Map은 데이터를 변형하고자 할 때 사용한다. 

-Map을 사용하면 코드가 간결해지고, 재사용이 용이하고, 컴파일러 최적화 성능이 좋아진다. 

 

3. json 디코딩

-json은 JavaScript Object Notation의 약자이다. 원래 자바스크립트 언어에서 객체 속성을 표현하기 위한 방법으로 사용하기 시작한 데이터 구조이다. 

-간결하고 쉽게 데이터를 나타내는 방법 중 하나이다. 

Swift) JSON이 도대체 뭘까 (tistory.com)

-데이터를 받아왔을 때 JSON 형식을 우리의 swift 형식으로 변환할 수 있도록 코드를 작성하는 것

'개린이 이야기' 카테고리의 다른 글

2022년 04월 06일의 이야기  (0) 2022.04.06
2022년 04월 04일의 이야기  (0) 2022.04.04
2022년 03월 21일의 이야기  (0) 2022.03.21
2022년 03월 15일의 이야기  (0) 2022.03.15
2022년 03월 10일의 이야기  (0) 2022.03.11