swift의 빈 연산자(Nil Coalescing Operator)
a ?? b
는 선택할 수 있는 유형a
에 대해 공판단을 하고 a
에 값이 포함되면 봉인을 해제하며 그렇지 않으면 기본값b
을 되돌려줍니다.이 연산자에는 두 가지 조건이 있습니다.1. 표현식
a
은 Optional 유형이어야 합니다.2. 기본값
b
의 유형은 a
스토리지 값의 유형과 일치해야 합니다.빈 병합 연산자는 다음 코드에 대한 간단한 표현입니다.
a != nil ? a! : b
상술한 코드는 세 개의 연산자를 사용했다.선택할 수 있는 형식
a
의 값이 비어 있지 않을 때, 강제 봉인 (a!
접근 a
의 값이 비어 있을 때 a
의 값이 비어 있을 때 기본값 b를 되돌려줍니다.의심할 여지없이 공합 연산자(??
는 조건 판단과 봉인 해제 두 가지 행위를 더욱 우아하게 봉인하는 방식을 제공하여 간결하고 읽을 만하다.주의:
a
가 비공가(non-nil
라면 값b
은 평가되지 않습니다.이것이 바로 이른바 단락구치라는 것이다.다음 예제에서는 빈 병합 연산자를 사용하여 기본 색상 이름과 선택할 수 있는 사용자 정의 색상 이름 중에서 선택할 수 있습니다.
let defaultColorName = "red"
var userDefinedColorName:String? // nil
var colorNameToUse = userDefinedColorName ?? defaultColorName
//userDefinedColorName , colorNameToUse `red`
userDefinedColorName
변수는 선택할 수 있는 문자열 형식으로 정의되고 기본값은nil입니다.userDefinedColorName
는 선택할 수 있는 유형이기 때문에 우리는 공합 연산자를 사용하여 그 값을 판단할 수 있다.이전 예에서 빈 연산자를 통해 colorNameToUse
라는 변수에 문자열 형식의 초기 값을 부여했다.userDefinedColorName
값이 비어 있기 때문에 표현식userDefinedColorName ?? defaultColorName
은 기본값인 red
을 되돌려줍니다.다른 경우, 비공식 값 ((
non-nil
을 userDefinedColorName
에 분배하고, 다시 공합 연산을 실행하는데, 연산 결과는 기본값이 아닌 userDefaultColorName
에 봉인된 값이다.userDefinedColorName = "green"
colorNameToUse = userDefinedColorName ?? defaultColorName
//userDefinedColorName , colorNameToUsede
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
iOS 아리운 대상 저장 OSS 파일 업로드/다운로드 실현이전 프로젝트에서 이미지 음성 등 자원 파일은 서버에 직접 데이터를 업로드하고 서버에 처리하고 저장했다.최근의 이 프로젝트는 서버가 직접 OSS를 열고 클라이언트가 아리운이 제공하는 업로드 다운로드 기능을 사용하여 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.