[Swift] Swift Optional
반응형
if let name = myNAme {
print(name)
}else{
print("입력된 값이 없음")
}
Swift는 효과적인 코드제어를 위해 Optional 이라는것을 만들었다
Swift에서는 변수를 생성할때 비어있는것을 명시해줄 수 있는데 해당 코드는
var myName : String?
이렇게 변수를 선언하면 아무것도 담기지 않은 값으로 선언한다.
아무튼 이제 이런 변수를 안전하게 혹은 강제로 출력하기 위한 방법이 존재한다.
Forced unwarpping
>> 강제로 값을 출력하는것
print(myName!)
! 가 뒤에 붙으면 강제로 해당 값을 출력해주는것인데
지금은 메모리에 연결되지 않은 nil상태인데 결과값이 어떻게 될까?
때문에 안전한 방법은 아니다.
Optional Binding
>> 조건을 통해 값을 확인
if 구문을 활용한 방법과 guard라는 특별한 문법을 사용하는 방법이 있다.
먼저 if 구문을 사용하는 경우
if let name = myName {
print(name)
}else{
print("입력된 값이 없음")
}
정해진 값만을 받는 name을 생성해 myName과의 비교!
guard를 사용하는 경우
func isMyName(myName myName : String) {
guard let name = myName else{
print("결과값 없음")
return
}
print(name)
}
name을 받아와서 맞지 않는경우 결과값 없음을 출력후 리턴해주는 방법으로 사용한다.
Nil Coalescing
값이 비어있는 경우 디폴트 값을 준다.
let myRealName : String = myName ?? "YS"
myName 변수에 값이 없으면 myRealName에 YS 를 지정해준다.
반응형
'Study > Swift' 카테고리의 다른 글
[Swift] Optional 심화 (0) | 2021.05.02 |
---|
댓글