Notice
Recent Posts
Recent Comments
Link
투케이2K
91. (swift/xcode) if let , guard let 사용해 Optional 데이터 확인 및 true , false 조건 체크 실시 본문
Swift
91. (swift/xcode) if let , guard let 사용해 Optional 데이터 확인 및 true , false 조건 체크 실시
투케이2K 2022. 8. 16. 08:27[개발 환경 설정]
개발 툴 : XCODE
개발 언어 : SWIFT
[소스 코드]
// MARK: - [테스트 함수 정의]
func testMain(){
print("")
print("===============================")
print("[ViewController >> testMain() :: 테스트 함수 수행]")
print("===============================")
print("")
/*
[요약 설명]
1. 옵셔널(Optional) 은 데이터가 있을 수도 있고, 없을 수도 있다는 의미입니다
2. swift 에서 옵셔널 데이터는 초기 변수 선언 후 (초기값 지정 없이) 값을 재할당 후 출력할 때 붙습니다
3. if let : Optional 값이 nil인지 확인하고 분기 처리 작업을 수행합니다
4. if let 구문에서 데이터가 Optional 인 경우는 if 문에서 벗김 처리 , nil 인 경우 else 구문에서 예외 처리를 수행합니다
5. guard let : 조건이 true 인 여부를 검사합니다
6. guard let 구문에서 조건이 true 인 경우 guard let 구문을 수행하고 , false 인 경우 else 구문에서 예외 처리를 수행합니다
7. guard let 은 else 즉, 조건이 false 일 때 블럭을 종료하는 함수가 필요합니다 (break, return ... )
*/
// [초기 변수 선언 실시]
var optionalData : String?
var nilData : String? = nil
var intData : Int?
// [optionalData 변수에 데이터 삽입 실시]
optionalData = "투케이"
// [1] : [if let 을 사용해 Optional 여부 확인 및 nil 체크 수행]
var optionalParsing = ""
if let optionalCheck = optionalData { // [옵셔널 데이터 인 경우 값을 벗김]
// [옵셔널 데이터 벗김]
optionalParsing = optionalCheck
// [로그 출력]
print("")
print("===============================")
print("[ViewController >> testMain() :: 옵셔널 데이터 체크 실시]")
print("[optionalCheck :: \(optionalParsing)]")
print("===============================")
print("")
}
else {
print("")
print("===============================")
print("[ViewController >> testMain() :: 옵셔널 데이터 체크 실시]")
print("[optionalCheck :: data is nil]")
print("===============================")
print("")
}
// [2] : [if let 을 사용해 Optional 여부 확인 및 nil 체크 수행]
var nilParsing = ""
if let nilCheck = nilData { // [옵셔널 데이터 인 경우 값을 벗김]
// [옵셔널 데이터 벗김]
nilParsing = nilCheck
// [로그 출력]
print("")
print("===============================")
print("[ViewController >> testMain() :: 옵셔널 데이터 체크 실시]")
print("[nilParsing :: \(nilParsing)]")
print("===============================")
print("")
}
else {
print("")
print("===============================")
print("[ViewController >> testMain() :: 옵셔널 데이터 체크 실시]")
print("[nilParsing :: data is nil]")
print("===============================")
print("")
}
// [3] : [guard let 을 사용해 String 형식으로 형변환 가능한지 체크 실시]
guard let strType = intData as? String
else {
print("")
print("===============================")
print("[ViewController >> testMain() :: guard let 조건 체크 실시]")
print("[intData :: false]")
print("===============================")
print("")
return
}
}
[결과 출력]
반응형
'Swift' 카테고리의 다른 글
93. (swift/xcode) self 키워드 클래스 전역 변수 및 메소드 지정 실시 (0) | 2022.08.16 |
---|---|
92. (swift/xcode) as 키워드 사용해 캐스팅 수행 및 as? 옵셔널 데이터 출력 , as! 데이터 강제 추출 실시 (0) | 2022.08.16 |
90. (swift/xcode) 클로저 (Closure) 호출 및 리턴 결과 확인 실시 (0) | 2022.08.15 |
89. (swift/xcode) 클로저 (Closure) 사용해 func 함수 동작 및 내부 로직 처리 간략 표현 실시 (0) | 2022.08.15 |
88. (swift/xcode) 옵셔널 체이닝 (Optional Chaining) 사용해 옵셔널 데이터 물음표 (?) 접근 및 널 데이터 체크 실시 (0) | 2022.08.14 |
Comments