물음표 '?'의 빠른 의미는 무엇입니까?
스위프트 프로그래밍에서 저는 물체가 있는 물음표를 발견했습니다.
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건너뛸 수 있습니다.
유형 뒤의 물음표는 다음과 같습니다.OptionalsSwift에서 특별한 상수 없이 모든 유형에 대해 값이 전혀 없을 가능성을 나타낼 수 있는 방법입니다.
그것은 당신이 명시적으로 사용했던 것과 같은 상황에서 사용됩니다.return nilObjective-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 |