Swift | guard 문 사용해보기

일어나 개발해야지·2023년 10월 18일

Swift

목록 보기
4/21

Intro

이번 project에서는 guard문을 적극 활용해 보려 마음 먹었었다.
그래서 열심히 사용해봤고 모든 코드에서 유의미하지는 않다는걸 느끼고 있다.

Try

if ["LoginID","LoginPW"].contains(cellID){
    passHandler?(true)
}
else{
    checkIcon.isHidden = false
    infoText.isHidden = true
    passHandler?(true)
}

Working code ↑↑↑


Not working code ↓↓↓

guard ["LoginID","LoginPW"].contains(cellID) else{
    passHandler?(true)
    return.     //여기서 함수가 끝나버림으로 회원가입 페이지에서는 동작하지 않는구나 
}
checkIcon.isHidden = false
infoText.isHidden = true
passHandler?(true)

CustomView를 사용해서 로그인과 회원가입 페이지에 같은 UI를 공유하고있다. UIupdate만큼은 다르게 주고 싶어서 각기 다른 조건을 적용해 주려고 했다.

guard문 의 경우 주석의 설명과 같이 return을 받아서 끝나버리기 때문에 이후 코드는 동작하지 않는다 로그인페이지에서만 동작하고, 회원가입 페이지에서는 동작하지 않는다. 그래서 Not working code로 보였다.

guard 문은 조건을 만족하지 않을 때 함수를 종료하는 코드
if 문은 if else와 함께 모든 조건을 처리할 때 사용

guard이 유용한 경우

  • 옵셔널 바인딩을 해제
  • 유효성을 검사

0개의 댓글