14일차: SwiftUI의 100일 - 선택 사항
6267 단어 swift100daysofcodeswiftui
옵션, nil 병합 및 체크포인트 9
https://www.hackingwithswift.com/100/swiftui/14
옵션
선택사항은 값이 없는 경우를 처리합니다. 옵션은 "값이 있습니다"또는 "값이 전혀 없습니다(
nil
)"라고 말합니다.var username: String? = nil
var password: String?
if let unwrappedName = username {
print("We got a user: \(unwrappedName)")
} else {
print("The optional was empty.")
}
만약 let과 guard let
if let
는 선택적 값을 풀고 값이 있는지 확인한 다음 일부 코드를 실행합니다. 반면에 guard let
는 옵션에 값이 없는 경우 일부 코드를 실행합니다.var myVar: Int? = 3
if let unwrapped = myVar {
print("Run if myVar has a value inside")
}
guard let unwrapped = myVar else {
print("Run if myVar doesn't have a value inside")
}
함수에서
guard
를 사용하는 경우 검사에 실패하면 return
를 사용해야 합니다.func printSquare(of number: Int?) {
guard let number = number else {
print("Missing input")
return
}
print("\(number) x \(number) is \(number * number)")
}
printSquare(of: nil)
printSquare(of: 2)
무 합체
Nil 병합을 사용하면 옵셔널을 언래핑하고 옵셔널이 비어 있는 경우 기본값을 제공할 수 있습니다.
let captains = [
"Enterprise": "Picard",
"Voyager": "Janeway",
"Defiant": "Sisko"
]
let new = captains["Serenity"] ?? "N/A"
옵셔널 체이닝
옵셔널 체이닝은 옵셔널 안에서 옵셔널을 읽기 위한 단순화된 구문입니다. 이는 선택 사항인 경우 연결된 속성 액세스를 수행하는 좋은 방법입니다.
let names = ["Arya", "Bran", "Robb", "Sansa"]
let chosen = names.randomElement()?.uppercased() ?? "No one"
print("Next in line: \(chosen)")
체크포인트 9
선택적 정수 배열을 받아들이고 무작위로 하나를 반환하는 함수를 작성하십시오. 배열이 없거나 비어 있으면 1에서 100 사이의 난수를 반환합니다.
해결책
Reference
이 문제에 관하여(14일차: SwiftUI의 100일 - 선택 사항), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/johnkevinlosito/day-14-100-days-of-swiftui-8p1텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)