1. Optional 이란?
'값이 없을 수 있는 가능성' 을 다루는 개념
c/c++ 혹은 java 등에서 메모리주소 혹은 객체의 포인터를 다루는 언어에서 null / nil 을 다루는 데 문제가 많음.
2. Optional 선언
선언할 때 '?'를 써 넣어 주면 Optional로 되고 이 변수에다가는 nil을 할당할 수 있다.
혹은 선언만 하면 해당 변수는 nil로 세팅 된다.
3. Optional의 사용법
// 안되는 예
// 되는 예1 - 강제 언래핑
// 되는 예2 - 좀 더 부드러운 사용
'값이 없을 수 있는 가능성' 을 다루는 개념
c/c++ 혹은 java 등에서 메모리주소 혹은 객체의 포인터를 다루는 언어에서 null / nil 을 다루는 데 문제가 많음.
2. Optional 선언
var ratings:[Int]? = nil
var optInt:Int?
var optStr:String?
var optArr:[String]?
선언할 때 '?'를 써 넣어 주면 Optional로 되고 이 변수에다가는 nil을 할당할 수 있다.
혹은 선언만 하면 해당 변수는 nil로 세팅 된다.
3. Optional의 사용법
// 안되는 예
// 옵셔널 값을 반환 함. Int("ABC")의 경우 오류가 발생할 걸 대비하기 위해
var getInt = Int("123")
var b = 10 + getInt // 컴파일 오류, getInt 가 Optional로 래핑되었기 때문에
// 되는 예1 - 강제 언래핑
var b = 10 + getInt! // 실제 언래핑 시점에 값이 여전히 nil인 경우 런타임에러
// 되는 예2 - 좀 더 부드러운 사용
ratings = [1,2,3,4]
if let theRatings = ratings {
for rate in theRatings{
print(" 제 점수는요~ \(rate)")
}
}
댓글 없음:
댓글 쓰기