• 카테고리

    질문 & 답변
  • 세부 분야

    모바일 앱 개발

  • 해결 여부

    미해결

if case let 과 if let의 차이.

23.01.05 04:08 작성 조회수 248

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

안녕하세요

일단 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같은 스타일을 옵셔널 바인딩이라고 표현합니다.

주땡님의 프로필

주땡

질문자

2023.01.05

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