본문 바로가기
프로그래밍/Swift

?? Nil 병합 연산자

by Mr-후 2018. 3. 6.
반응형

무심결에 본 ?? 연산자. 딱 내가 좋아하는 타입이다. 


'??' 연산자는 Nil 병합 연산자로서 보통 연산자 앞쪽에 옵셔널 타입의 값이, 뒤쪽에는 이를 대체할 일반 타입의 값을 취한다. 


연산자 앞에 작성된 옵셔널 타입의 값이 nil일 경우 연사자 뒤쪽에 있는 값을 사용하고, 그렇지 않다면 연산자의 앞쪽의 옵셔널 값을 해제하여 사용한다는 의미로 이해하면 된다. 


    //logging

    @objc func logging(_ sender: UIButton) {

        switch self.logType {

        case .basic:

            //

            NSLog("버튼이 클릭되었습니다.")

        case .title:

            let btnTitle = sender.titleLabel?.text ?? "타이틀 없는" //Nil 병합연산자.

            NSLog("\(btnTitle) 버튼이 클릭되었습니다.")

        case .tag:

            NSLog("태그 \(sender.tag) 버튼이 클릭되었습니다.")

        }

    }



반응형