[Swift] 놓치기 쉬운 특이한 문법편

OQ·2022년 3월 21일
1

Swift

목록 보기
2/11
post-thumbnail

'~=' 연산자

let number = 31
//0~100까지 범위가 맞다면
if 0...100 ~= number {  
  print("\(number)은 0~100 안에 드는 수에요!")
}

주로 Http 상태코드 체크에 자주 쓰인다.
200...299 ~= statusCode 면 성공이런 식으로

switch case let

// 기존에 쓰던 방식
switch result {
  case .success(let data):
  	if data.count > 100 {
    	completion(data)
    } else {
    	print("fail")
    }
    
  case .failure(let error):
    print(error)
}

// case let 방식
switch result {
  case let .success(data) where data.count > 100:
    completion(data)

  case let .failure(error):
    print(error)
    
  default:
  	print("fail")
}

where 절을 붙일 수 있다는 장점이 있다.
솔직히 개인적으로 가독성은 기존에 쓰던 방식이 더 좋은 듯 합니다.

if case let, guard case let

if case let .success(data) = result, data.count > 100 { ... }

guard case let .success(data) = result, data.count > 100 { /* fail */ }

굉장히 유용한 문법입니다.
switch 문으로 모든 케이스 줄줄이 체크할 필요 없이 특정 케이스만 체크할 때 주로 사용됩니다.

for case let

let foods: [Food] = [.gimbob, .gimbob, .hamburgar, .pizza, .hamburgar]

for case let food in foods where food == .hamburgar {
    print(food)	// 햄버거만 체크
}

쓸만한 문법입니다.
enum 배열을 처리할 때 아주아주 편한 방법.

계속 추가할 예정입니다.

혹시 특이한 문법 알고 계시면 댓글 부탁드립니다 🤤

profile
덕업일치 iOS 개발자

0개의 댓글