본문 바로가기

NIL

(3)
Swift의 옵셔널 체이닝과 nil 병합 연산자 1. 옵셔널 체이닝 •옵셔널 체이닝은 옵셔널의 내부의 내부의 내부로 옵셔널이 연결되어 있을 때 유용하게 활용할 수 있음 •매번 nil 확인을 하지 않고 최종적으로 원하는 값이 있는지 없는지 확인할 수 있음 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778// 예제 클래스// 사람 클래스class Person { var name: String var job: String? var home: Apartment? init(name: String) { self.name = name }}// 사람이 사..
Swift의 옵셔널 1. 옵셔널의 뜻 •값이 있을 수도, 없을 수도 있음을 표현 •nil이 할당될 수 있는지 없는지 표현 1234567891011// optionalParam에 nil이 할당될 수 있음func funciton(optionalParam:Int?) { // ....} // optionalParam에 nil이 할당될 수 없음func function(optianlParam:Int) { // ....} function(optionalParam: nil)cs 2. 옵셔널을 쓰는 이유 •명시적 표현1. nil의 가능성을 코드만으로 표현가능2. 문서/주석 작성 시간 절약 •안전한 사용1. 전달받은 값이 옵셔널이 아니라면 nil 체크를 하지 않고 사용가능2. 예외 상황을 최소화 하는 안전한 코딩3. 효율적 코딩 3. 옵셔널..
Swift의 Any. AnyObject, nil •Any - Swift의 모든 타입을 지칭하는 키워드•AnyObject - 모든 클래스 타입을 지칭하는 프로토콜•nil - '없음'을 의미하는 키워드 1. Any 123456var someAny: Any = 100someAny = "글자"someAny = 321.32 // Any는 Double 타입이 아니기 때문에let someDouble: Double = someAny // 오류 발생cs 2. AnyObject 12345class MainClass {}var someAnyObject: AnyOject = MainClass() // AnyObject는 클래스의 인스턴스만 수용 가능someAnyObject = 122.12 // 오류 발생cs 3. nil •다른 언어의 null 과 유사한 표현 123456/..