물음표 '?'의 빠른 의미는 무엇입니까?
스위프트 프로그래밍에서 저는 물체가 있는 물음표를 발견했습니다.
var window: UIWindow?
누가 그것의 용도를 설명해 줄 수 있습니까?
사용할 수 있습니다.
if
그리고.let
누락될 수 있는 값을 함께 사용합니다.이 값들은 다음과 같이 표현됩니다.optionals
안optional
값이 값을 포함하거나 포함합니다.nil
값이 누락되었음을 나타냅니다.값 유형 뒤에 물음표(?)를 작성하여 값을 다음과 같이 표시합니다.optional
.옵션 값이 다음과 같은 경우
nil
조건은false
중괄호 안의 코드를 건너뜁니다.그렇지 않으면 옵션 값이 랩 해제되고 다음 시간 이후의 상수에 할당됩니다.let
이를 통해 코드 블록 내에서 랩핑되지 않은 값을 사용할 수 있습니다.
발췌: Apple Inc."스위프트 프로그래밍 언어" 아이북스.https://itun.es/pk/jEUH0.l
예:
var optionalString: String? = "Hello"
optionalString == nil
var optionalName: String? = "John Appleseed"
var greeting = "Hello!"
if let name = optionalName {
greeting = "Hello, \(name)"
}
이 코드에서 출력은 다음과 같습니다.Hello! John Appleseed
그리고 만약 우리가 그 가치를 설정한다면,optionalName
~하듯이nil
.그if
조건부 결과는.false
그리고 그 안에 코드가 있습니다.if
건너뛸 수 있습니다.
유형 뒤의 물음표는 다음과 같습니다.Optionals
Swift에서 특별한 상수 없이 모든 유형에 대해 값이 전혀 없을 가능성을 나타낼 수 있는 방법입니다.
그것은 당신이 명시적으로 사용했던 것과 같은 상황에서 사용됩니다.return nil
Objective-C에서 반환할 객체가 없거나 객체가 아닌 값의 경우 다음과 같은 상수NSNotFound
옵션을 사용하면 모든 데이터 유형에서 일관된 방법으로 이를 달성할 수 있습니다.
Apple에서 제공한 iBook
값이 없을 수 있는 상황에서는 옵션을 사용합니다.선택 사항은 다음과 같습니다.
- 값이 있고 x와 같습니다.
또는
- 가치가 전혀 없습니다.
여기 예가 있습니다.Swift의 String 유형에는 String 값을 Int 값으로 변환하려고 시도하는 Int로 호출되는 메서드가 있습니다.그러나 모든 문자열을 정수로 변환할 수 있는 것은 아닙니다.문자열 "123"은 숫자 값 123으로 변환할 수 있지만 "hello, world" 문자열에는 변환할 명확한 숫자 값이 없습니다.
let possibleNumber = "123"
let convertedNumber = possibleNumber.toInt()
// convertedNumber is inferred to be of type "Int?", or "optional Int"
ToInt 메서드는 실패할 수 있으므로 Int가 아닌 선택적 Int를 반환합니다.선택적 Int는 Int가 아닌 Int?로 작성됩니다.물음표는 포함된 값이 선택적임을 나타냅니다. 즉, 일부 Int 값을 포함하거나 값이 전혀 포함되지 않을 수 있습니다.이것은 Int이거나 전혀 아무것도 아닙니다.)
옵션에 대한 언어 참조 iBook의 전체 섹션이 있으며, 책 전체에 걸쳐 여러 번 언급되어 있습니다.스위프트 프로그래밍의 기본 개념이며 다른 많은 언어에서는 널리 사용되지 않는 개념이기 때문에 자세히 살펴보아야 합니다.
형식의 선택적 값.
연산자의 : 예: 유: 형의연자선택적버산:as?
,의미하다as
할 때 일 수 .
언급URL : https://stackoverflow.com/questions/24057171/what-the-meaning-of-question-mark-in-swift
'programing' 카테고리의 다른 글
바닥글을 웹 페이지 하단에 유지하려면 어떻게 해야 합니까? (0) | 2023.09.01 |
---|---|
Powershell: 기본 시스템 인코딩을 가져옵니다. (0) | 2023.09.01 |
다국어 웹사이트를 만드는 방법 (0) | 2023.09.01 |
명령줄 명령을 동적으로 생성한 다음 powershell을 사용하여 호출 (0) | 2023.09.01 |
MariaDB 시작 오류 (0) | 2023.09.01 |