Swift '문법'

nil 정의 "스위프트"

김동준. 2024. 6. 28. 21:49

스위프트에서, 'nil' 값의 부재를 나타낸다. 그것은 변수가 전혀 값을 갖지 않을 수 있음을 나타내기 위해 Swift의 기본 개념인 선택 사항과 함께 사용된다. 여기 더 자세한 설명이 있습니다.

선택사항

스위프트에서, 변수나 값으로 초기화되어야 한다. 그러나, 떄떄로 당신은 값을 보유할 수 있거나 전혀 가치가 없는 변수가 필요합니다. 여기가 선택 사항이 들어오는 곳이다. 선택 사항은 값이나 'nil' 보유할 수 있는 유형이다.

선택 사항 선언하기

물음표를 추가하여 선택 사항을 선언하나요 '?' 그것이 보유할 수 있는 가치의 우형예:

var optionalString: String?

In this example, optionalString can hold a String value or it can be nil.

선택 사항에 값 할당하기

당신은 값을 할당할 수 있습니다. 'nil' 선택 사항으로

optionalString = "Hello, Swift"
optionalString = nil

포장 풀기 옵션

옵션은 값 또는 'nil' 포함할 수 있기 떄문에, 값에 엑세스하려면 옵션을 "언랩"해야 합니다.

스위프트에서 이것을 하는 몇 가지 방법이 있다.

1. 강제포장풀기: 느낌표를 사용할 수 있습니다. '!' 선택 사항의 포장을 강제로 풀기위해.

이것은 선택 사항에 값이 포함되어 있다고 확신하는 경우에만 수행해야 합니다. 그렇지 않으면 런타임 오류가 발생합니다.

if optionalString != nil {
    print(optionalString!) // This will print the value if it's not nil
}

2. 선택적 바인딩: 이것은 선택 사항의 포장을 푸는 더 안전한 방법이다. 당신은 사용해요 'if let' 또는 'guard let' 그렇지 않다면 선택 사항의 값을 새 변수에 바인딩하기 위해 'nil'

if let unwrappedString = optionalString {
    print(unwrappedString) // This will only execute if optionalString is not nil
} else {
    print("optionalString is nil")
}

3. 닐 콜레싱. 오퍼레이터: 이 운영자 '??' 선택 사항이 'nil' 기본값을 제공합니다.

let unwrappedString = optionalString ?? "Default value"
print(unwrappedString) // Prints "Hello, Swift" if optionalString is not nil, otherwise "Default value"

선택적 연결

선택적 체인은 현재 'nil' 수 있는 선택 사항의 속성, 메서드 및 첨자를 쿼리하고 호출하는 프로세스입니다. 선택사항이 값을 포함하면 호출이 성공합니다. 선택사항이 'nil' 호출이 'nil' 반환합니다.

let length = optionalString?.count

이 예시에서,length선택적인 Int(Int?)가 될 것이다. 만약

'optionalStringnil 아니야,length문자열의 문자 수를 포함할 것이다. 만약

'optionalString'이다nil, lengthnil.

예시 사용법

여기 사용을 보여주는 완전한 예가 있습니다.nil그리고 스위프트의 옵션:

var name: String? // Optional String
name = "Alice"

// Forced Unwrapping
if name != nil {
    print("Name is \(name!)")
}

// Optional Binding
if let unwrappedName = name {
    print("Name is \(unwrappedName)")
} else {
    print("Name is nil")
}

// Nil Coalescing
let defaultName = name ?? "Default Name"
print("Name is \(defaultName)")

// Optional Chaining
let nameLength = name?.count
if let length = nameLength {
    print("Name has \(length) characters")
} else {
    print("Name is nil")
}

이것은 기본 개념과 사용법을 다룹니다. 'nil' 그리고 스위프트의 선택 사항.