2022. 7. 8. 22:51ㆍSeSAC/수업정리
목차
1. Optional(옵셔널)
▶ 옵셔널이란?
▶ 옵셔널 오류 발생시 해결방법
2. Function(함수)
▶ 함수와 메서드
▶ Parameter & Argument(매개변수와 전달인자)
▶ Argument Label(외부매개변수) & Parameter Name(내부매개변수)
▶ 매개변수 기본값
▶ 와일드카드
3. References
1. Optional
▶ 옵셔널이란?
-. 값을 처리하는 과정에서 오류가 발생할 가능성이 있는 값을 옵셔널 타입이라는 객체로 감싸서 반환하는 것을 말한다.
-. 옵셔널 타입은 변수, 상수에 값이 할당되지 않은 상황을 안전하게 처리하기 위한 방법이다.(오류 발생할 경우 nil값을 반환하여 오류 피함. 그렇게 하지 않으면 오류가 발생했을 때 앱이 종료됨.)
-. 옵셔널은 프로그래밍 언어 중 Swift에만 있는 개념이다.
-. 옵셔널 타입 선언 방법 : 타입 뒤에 "?" 문자를 쓴다. (ex. var x: Int? = 10)
-. 옵셔널에서 초기값 할당하지 않으면 nil값이다.
-. 옵셔널 타입은 Unwrapping(언래핑)해야 다른 타입과 연산 할 수 있다.
▶ 옵셔널 오류 발생시 해결방법
-. 옵셔널 오류 발생시 해결방법은 Forced Unwrapping, Optional Binding, Optional Chaining 3가지다.
-. 옵셔널 변수에 값이 있으면 옵셔널로 래핑되었다고 하는데, 래핑된 값을 언래핑된 타입으로 변환하여 에러를 해결한다.
▷ Forced Unwrapping(강제언래핑)
-. 옵셔널 타입 언래핑 방법 : 변수명 뒤에 "!" 문자를 쓴다.(ex. var x: Int? = 10 일 때, x!)
-. 가장 간단하지만 값이 nil일 경우 !를 사용하면 앱이 꺼진다.(언래핑할 값이 없기 때문)
-. 문자열 보간법 사용시 옵셔널 타입이 있다면 반드시 언래핑을 해주어야 한다.(문자열 보간법 내 요소는 항상 값이 존재해야하기 때문)
▷ Optional Binding(옵셔널 바인딩)
-. 옵셔널에 할당된 값을 임시 변수 또는 상수에 할당하여 언래핑한다.
-. ?? 또는 조건문을 사용하여 표현한다.
▷ Optional Chaining(옵셔널 체이닝)
-. 옵셔널 체이닝은 nil일 수도 있는 프로퍼티, 메소드, 서브스크립트에 질의하는 과정이다. 어떤 프로퍼티나 메소드까지 깊숙이 접근해야 할 때 거쳐가는 것들 중 옵셔널 타입이 하나라도 있다면 옵셔널을 표현해주는 것이 옵셔널 체이닝이다.
-. 그 질의문 중 어느 하나라도 값이 nil이면 전체 결과는 nil이 된다. 옵셔널이 연속으로 연결되는 경우에 유용하게 쓸 수 있다.
-. 옵셔널 체이닝은 옵셔널값 뒤에 ?를 붙여서 표현할 수 있다. 옵셔널 체이닝 값은 항상 옵셔널값이 된다.
2. Function
▶ 함수와 메서드
-. 상황과 위치에 따라 용어가 다를 뿐 역할은 같다.
-. Function(함수) : 모듈 전체에서 전역적으로 사용할 수 있는 함수
-. Method(메서드) : 클래스, 구조체, 열거형 등 특정 타입과 연관되어 사용하는 함수
▶ Parameter & Argument(매개변수와 전달인자)
-. Parameter(매개변수)는 함수 안에서 정의되어 있는 변수를 말한다.
-. Argument(전달인자)는 함수를 호출 할 때 전달되는 실제 값을 말한다.
▶ Argument Label(외부매개변수) & Parameter Name(내부매개변수)
-. 일반적으로 함수에서 매개변수를 정의할 때 Argument Label과 Parameter Name을 같은 이름으로 사용할 수 있지만 Argument Label을 별도로 지정하면 함수외부에서 매개변수의 역할을 보다 명확하게 알 수 있다.
-. 함수 내부에서는 외부매개변수를 사용 할 수 없고, 함수를 호출할 때는 내부매개변수를 사용할 수 없다.
▶ 매개변수 기본값
-. 매개변수가 전달되지 않을 때 기본값을 사용 할 수 있다.
-. 기본값이 없는 매개변수는 중요한 값을 전달할 가능성이 높아, 매개변수가 여러개 일 때 기본값이 없는 매개변수를 기본값이 있는 매개변수 앞에 사용 할 수 있다.(ex.print)
-. 기본값에 옵셔널 타입도 사용 가능하다.
▶ 와일드카드 식별자
-. 스위프트에서 와일드 카드란 사용되는 곳의 값을 무시(생략)할 때 사용하는 식별자이다.
-. for구문이나, switch구문에 많이 사용된다.
![](https://blog.kakaocdn.net/dn/efd4AW/btrHxVCepSy/5o32ra6BwNmYY1yoMJPjA0/img.png)
3. References
1. sesac 교육자료
2. Optional
유튜브 : Smile Han iOS프로그래밍기초
https://dev-dain.tistory.com/143
https://babbab2.tistory.com/32
3. Function
https://brunch.co.kr/@njnamju/106
https://wayhome25.github.io/etc/2017/12/31/parameter-argument/
'SeSAC > 수업정리' 카테고리의 다른 글
032_for-in, foreach 알아보기 (0) | 2022.08.17 |
---|---|
017_Property (0) | 2022.07.26 |
AppDelegate & SceneDelegate, Dark Mode(2022-07-06 수업3) (0) | 2022.07.08 |
Cocoa Touch Framework, UIKit Framework, UIViewController, @IBOutlet & @IBAction(2022-07-05 수업2) (0) | 2022.07.08 |
Xcode(2022-07-04 수업1) (0) | 2022.07.07 |