guard let soundAsset: NSDataAsset = NSDataAsset(name: "sound") else{
print("음원 파일 에셋 가져올 수 없습니다")
return
}
else 앞에 let soundAsset: NSDataAsset = NSDataAsset(name: "sound") 조건이 ture이면 guard문은 그냥 지나가고, false 이면 else 구문 print("음원 파일 에셋 가져올 수 없습니다") 을 수행한 뒤 함수를 바로 종료한다.
암묵적인 종료가 아니라 명시적인 종료이므로 return을 적어주는 모습을 볼 수 있다. 없으면 - 컴파일 에러 ( throw라도 사용)
guard 문을 사용하면 let soundAsset: NSDataAsset = NSDataAsset(name: "sound") // let으로 받으면서 nil 체크를 하는 동시에 그 값을 else를 통해 사용할 수 있다.
if문을 쓰면 nil 체크 후에 unwrap을 위해 !를 붙여서 쓰거나 if 블럭 안에서 써야한다. -> 이러한 단점을 깔끔하게 해결 -> guard문
'개발 > 아이오에스' 카테고리의 다른 글
swift Cocoa Touch란? (0) | 2020.12.21 |
---|---|
swift] AVFoundation, Timer 클래스 이해 (0) | 2020.12.21 |
SWIFT(IOS) 아이콘 뱃지(숫자) 표시하는방법 (0) | 2020.12.16 |
클로저 (Closures) (0) | 2020.12.04 |
함수(Functions) (0) | 2020.12.03 |