저는 Swift에서 guard 키워드를 사용하는 방법을 찾아 보았습니다. 최근에 개발자가 폐쇄에 오류이없는 경우 아래 코드가 "성공"을 인쇄 할 것이라고 말했습니다.스위프트 가드 키워드의 올바른 사용?
for attachment in attachments! {
attachment.fetchData { (data, error) in
guard let error = error else {
print(“success”)
return
}
print(error.localizedDescription)
}
나는 그의 성명서로 약간 혼란 스럽다. Apple에서 클로저 및 가드 키워드 문서를 읽은 후 에 오류가있을 때만 코드가 "성공"을 인쇄 할 것처럼 보입니다.
나는 그가 역으로 그것을 사용하고있는 것처럼 느낀다. 그러나 나는 틀릴지도 모른다. 오류가 있거나 없을 때 누군가가 성공을 인쇄하면 설명해 줄 수 있습니까??
감사합니다.
. 가드 조건은 가드 조건이 거짓이거나 (가드가 '가드'인 경우 변수가 nil 인 경우) 입력됩니다. – dan
@dan - 아, 알겠습니다. 오류가 오류와 같지 않거나 오류가없는 경우 (오류가 발생하지 않음) 성공을 읽습니다. 고맙습니다. 문이 사실이라면 가드 조건이 입력 될 것이라고 생각했습니다. if 문과 같습니다. 동의 할 답변을 제출 하시겠습니까? – BlueishVelvet
해피 실행 경로의 논리를 캡슐화하는 데 'guard'를 사용해서는 안됩니다. 오류 로직에만 사용하십시오. 이 경우 대신'if let'을 사용하여 오류를 인쇄하고 거기로 돌아갑니다. 아니면'error'보다는'data'에'guard let '을 사용하십시오. – Hamish