iOS Swift(스위프트) : 옵셔널
iOS 앱 개발을 위해 Swift(스위프트) 공부한 것을 메모한 글입니다.
옵셔널이란? nil을 사용할 수 있는 타입과 사용할 수 없는 타입을 구분하고, 사용할 수 있는 타입을 가리켜 옵셔널 타입이라고 부른다
#nil은 0이나 문자열 ""과 다름
사용자가 실수했을 경우 오류 대신 nil을 반환함(#자바의 예외 상황과 비슷)
#딕셔너리에 없는 키값을 호출했을 경우 등
#사용예 : 숫자를 문자열로 변경
let num = Int(바꿀 문자열) // 바꿀 문자열에 "123" 숫자가 들어가면 num에 숫자가 들어가지만 "문자"가 들어가면 nil이 됨
옵셔널 타입만 nil을 반환할 수 있음
오류가 발생할 가능성이 있다면 모두 옵셔널 타입으로 정의해야 함
#문자열 123을 숫자로 바꾸기 : let num = Int("123")
123에 문자가 들어갔다면 nil을 반환함
#스위프트에서는 nil 사용에 제약을 둬서 일반 자료형은 nil값을 가질 수 없음
모든 기본 자료형들은 그에 대응하는 옵셔널 타입이 존재함
#Optional Int / Optional String
#사용 Int("Swift") --> nil Int("123") --> Optional(123)
옵셔널을 써서 래핑 된것은 언래핑으로 옵셔널 타입을 해제하고 실제 값을 추출해서 사용해야 함
옵셔널 타입 선언과 정의
자료형 뒤에 물음표 붙이기 #var optInt : Int? varoptStr : String?
#옵셔널 딕셔너리 : var optDic : Dictionary<String, String>? var optDic2 : [String:String]?
#옵셔널 클래스 : var optClass : AnyObject?
선언 후 초기화 하지 않으면 자동으로 nil로 초기화 됨 #옵셔널 내부의 자료형이 아닌 옵셔널 타입 자체에 nil이 부여됨
값을 대입할떄는 일반 변수처럼 대입하면 됨
'기타' 카테고리의 다른 글
한국사를 공부하는 효과적인 방법 (0) | 2019.08.10 |
---|---|
[Android] 앱에서 플레이스토어 링크 공유하는 기능 만들기(Create a playstore link sharing app in your app) (0) | 2019.06.15 |
iOS Swift(스위프트) : 함수의 기본 개념 (0) | 2019.05.22 |
iOS Swift(스위프트) : 옵셔널 값처리 (0) | 2019.05.22 |
iOS Swift(스위프트) : 딕셔너리 (0) | 2019.05.21 |
iOS Swift(스위프트) : 튜플 (0) | 2019.05.19 |
iOS Swift(스위프트) : 집합 연산 (0) | 2019.05.19 |
iOS Swift(스위프트) : 집합 순회 탐색, 동적 추가와 삭제 (0) | 2019.05.19 |