작성
·
165
답변 1
1
if a != nil {
print(a!)
}
제가 설명드린 문법은 위와 같고
if를 사용한 이유는 force unwrapping을 사용할 때 if로 nil체크를 하면 안전하다를 보여주기 위한 부분이라고 생각하시면 됩니다.
그리고
unwrapping하면 변수a 가 Int타입으로 바뀌는게 아닙니다.
그냥 Int타입으로 된 새로운 값이 새로 생성되서 그걸 사용할 수 있게 되는 것입니다.
그러므로 a는 타입이 변하지 않고 계속 옵셔널Int입니다.
if let은 unwrapping해서 그냥 Int타입의 값을 가져올 수 있는지 없는지 체크하는 기능중에 하나 입니다.
가져올 수 있다면 hasNumber에 값이 들어오고 밑에 코드블럭이 실행되고
가져올 수 없는 nil상태면 if let 구문은 아예 실행되지 않습니다.
답변 감사합니다!