일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- Required Reason API
- UIAlertAction
- SwiftUI Boolean 값
- CLLocationManagerDelegate
- 한국어 개인정보처리방침
- 클로저의 캡슐화
- xcode로 날씨앱 만들기
- MKMapViewDelegate
- weatherKit
- swift
- 러닝기록앱
- dispatchsource
- RunningTimer
- 영문 개인정보처리방침
- font book
- MKMapItem
- WeatherManager
- weak var
- Startign Assignments
- 단일 책임원칙
- UICollectionViewFlowLayout
- CoreLocation
- Xcode
- 서체관리자
- Timer
- AnyObject
- Protocol
- addannotation
- App Store Connect
- 러닝타이머
- Today
- Total
VesselWheel
Guard 문의 개념 본문
import UIKit
/*
guard 문
guard 조건문 else{
명령문
}
guard (Optional Binding) else{
명령문
}
*/
// 문자열을 parameter 로 받아서
// Bool type 의 값을 return 하는 함수
func validate(id: String?) -> Bool{
// parameter 로 전달된 문자열에
// 실제로 문자열이 할당되어 있는지 확인함
guard let id = id else {
print("guard let id = id else")
return false
}
// parameter 로 들어온 문자열의 길이가
// 6 보다 크거나 같으면 true 가 되어서
// guard 문 이외의 code 가 실행됨
guard id.count >= 6 else{
print("guard id.count >= 6 else")
return false
}
return true
}
func validate2(id: String?) -> Bool{
// 두 개의 guard 문을 하나로 작성하기
guard let id = id, id.count >= 6 else{
return false
}
return true
}
// validate () 호출하기
// parameter 로 nil 을 전달함
// nil : 전달된 문자열이 없음
print(validate(id: nil))
print(validate2(id: nil))
print("--------------------")
print(validate(id: "swift"))
print(validate(id: "tjoeun academy"))
func validateUsingIf(){
var id: String? = nil
// 외부 if 문 : 실제 문자열이 할당되어 있는지 확인
// let str1 = id <- 문자열이 저장되어 있으면
// 해당 문자열을 str1 에 할당
if let str1 = id{
// 내부 if : 문자열의 길이가 6 이상인지 확인
if str1.count >= 6{
print(str1)
}
}
}
func validateUsingGuard(){
var id: String? = nil
// guard 문에서는 조건이 false 인 경우
// return 문을 사용해야 함
// let str1 = id <- 문자열이 저장되어 있으면
// 해당 문자열을 str1 에 할당
guard let str1 = id else {
// print(str1)
// str1 은 이 scope에서 사용할 수 없음
// let str1 = id <-- 동작하지 않을 때만
// 이 scope 로 들어오게 됨
return
}
// str1 은 이 scope에서 사용할 수 있음
print(str1)
guard str1.count >= 6 else {
// str1 은 이 scope에서 사용할 수 있음
print(str1)
return
}
print(str1)
}
'Xcode Study' 카테고리의 다른 글
Pattern Matching 연산자 overloading (0) | 2023.05.02 |
---|---|
변수 간 연결(Value binding pattern) (0) | 2023.05.02 |
[SwiftUI] Allow Arbitrary Loads, 외부 URL 허용 (0) | 2023.04.29 |
[SwiftUI] webview 사용 코드 (0) | 2023.04.29 |
[SwiftUI] cocoapods 설치 및 사용 (0) | 2023.04.29 |