인프런 커뮤니티 질문&답변

주땡님의 프로필 이미지
주땡

작성한 질문수

성공적인 진짜 iOS 개발자 되기 [기초부터 실무까지]

29. Enum

if case let 과 if let의 차이.

작성

·

290

0

if let은 앞 강의에서

if let age = myAge1{

}

myAge1 이 nil 이면 true, 아니면 false라고 배웠는데요,

 

if case let 에서는 그렇지 않고 ==처럼 타입을 비교해서 true와 false를 정하는 것으로 이해했습니다.

if let에 이어서 if case let 도 nil값이냐 아니냐에 따라 true,false가 결정될 것 같았는데,

if case let은 if let과 연관이 딱히 없고 각각 알려주신대로만 이해하면 될까요?

답변 1

0

iOS Developer - 이정님의 프로필 이미지
iOS Developer - 이정
지식공유자

안녕하세요

일단 if let과 if case let은 true, false와는 상관이 없습니다.


if let age = myAge1{
}

이 부분은 옵셔널인 myAge1의 값을 가져올 수 있으면 age로 가져오고 { } 괄호안의 내용을 실행시킨다 입니다.

myAge1의 값을 가져올 수 없을 경우 즉 myAge1이 nil일 때는 { } 괄호안의 내용을 실행시키지 않는다 입니다.


if case let도 개념은 같습니다.

단지 가져올 수 있는 값이 enum의 case값이냐 아니냐로 판단하는거고 해당 case면 { } 괄호안의 내용이 실행이고 해당 case가 아니면 { }괄호안의 내용이 실행되지 않습니다.


해당 기능은 언래핑 방식중에 하나이며
if let, guard let같은 스타일을 옵셔널 바인딩이라고 표현합니다.

주땡님의 프로필 이미지
주땡
질문자

이해됐습니다 감사합니다.

주땡님의 프로필 이미지
주땡

작성한 질문수

질문하기