티스토리 뷰

오랜만에 블로그 포스팅이네요. .

현실에서 벗어나 힐링도 좀 하고 . . 하느라 소홀했네요 . . 다시 갓생을 살아보겠습니다. .

오늘은 switch문과 where에 대해 살펴볼 예정입니다!

그 전에 if문에 대해 간단하게 살펴볼게요!

대게 조건문이라고 하면 If문과 switch문이 떠오를 것입니다!

if문은 참과 거짓을 판단할 수 있는 문장을 조건으로 넣고 해당 조건이 만족한다면 중괄호 안에 코드를 실행합니다.

seungchanAge라는 변수를 조건문에 넣고 true이면 정답ㅋㅋ이 나올 것이고 아니라면 else를 추가해 else 중괄호 안에서 처리할 수 있겠죠?

따라서,
if문을 사용할 때에는 논리적은 구조 및 조건의 순서가 중요하다.

여러가지 조건을 한번에 처리할 수 있다. (&&, ||)

중첩해서도 사용이 가능하다.

그럼 switch문과의 차이는 무엇일까요?
  • if문이 switch문보다 좀 더 큰 범위를 가진다고 생각할 수 있습니다.
  • if문은 조건 2개도 사용가능하고 응용 범위가 넓다.
  • 반면 switch문은 if문보다 가독성이 좋다.


그럼 switch문에 간단한 주의점과 조건을 추가하는 방법에 대해 살펴볼게요!

switch문에서는 부등식을 사용할 수 없습니다.

즉 조건을 switch문 안에 넣어서 사용할 수 없다는 의미인데요. .

그렇다면 어떻게 사용해야할까요?

범위연산자를 사용해서 case 안에 범위를 지정하고 사용하면 됩니다.


그렇다면 다양한 case를 조건으로 구성하려면 어떻게 할까요?

간단한 예시를 통해 살펴볼게요!

tableView에서 didSelectRowAt 메서드 안에서 각 셀의 이미지가 Hidden 될 때 분기처리를 해야한다고 생각해볼게요!

그럼 indexPath.row가 0이고 (switch문) cell의 이미지가 isHidden일 때를 (if문) 위와 같은 코드로 나타낼 수 있을 겁니다!

하지만 위와 같은 로직이 row가 많아지면 많아질수록 코드가 길어지고 가독성이 떨어질 것입니다.

그렇다면 어떻게 간단하게 쓸 수 있을까요?

where절을 사용해 case안에서 조건문을 사용하는 방법이 있습니다!

테이블뷰라는 극단적인 예시로 설명을 해서.. 자세히 이해가 안 가실 수 있겠습니다만 . .

where절을 사용해 조건을 추가한다면 코드의 가독성이 훨씬 좋아지고 간단히 사용할 수 있겠죠!

where 키워드에 설명을 덧붙이자면 대부분 밸류 바인딩을 해서 사용합니다.

말그대로 바인딩을 해서 조건으로 사용 가능하다는 의미인데 예시를 통해 살펴보겠습니다!

where절을 사용해서 seugchanAge를 age 변수에 바인딩해서 값을 직접적으로 사용할 수 있습니다.

 

간단하게 말하자면 switch문 안에 조건을 추가하고 싶으면 where절을 사용하면 된다!

 

글을 작성하면서 . .

왜 진작 몰랐을까?

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함