2016년 5월 17일 화요일

Swift - Optional 개론

1. Optional 이란?
 '값이 없을 수 있는 가능성' 을 다루는 개념
 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)")
    }

}





댓글 없음:

댓글 쓰기