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)
-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 |