방금 기존 코드가 많은 프로젝트에 참여했습니다. 이전 프로그래머는 Swift에 익숙하지 않았거나 Swift 언어의 초기 단계에서 개발을 시작했습니다. 그들은 이상한 방법으로 if let
진술을 사용하는 것 같았다. 그들은 성명서를 if is let
으로 사용하고 싶어하는 것 같았습니다. 값 유형 String
나에게 여분의 것 인 경우스위프트 (Swift) : 여분의 경우
// In JSON parser
if value is String, let string = value as? String {
document.createdBy = string
}
먼저 확인 : 내가 코드를 편집하기 전에 이에 대한 유효한 사용이 있는지 알고 싶습니다. 성명서의 let string = value as? String
부분에서 이것을 신속히 점검하지 않습니까?
질문
이유는 이러한 요구를 두 번 확인하는 것? 아니면 이것에 대한 이유가 있을까요?
네 말이 맞아. 그냥 바보 야. 그것을 모방하지 마십시오. (그런데 질문에 "선택적 연결"이 없습니다.) – matt
당신이해야 할 상황을 볼 수 없습니다. 만약 변수가'String'이라면,'as '로 그것을 캐스팅 할 필요가 없습니다. String'이므로 변수가'String'이면 오른쪽 조건이 중복됩니다. 'String'이 아니라면 (캐스팅하기를 원할 것입니다.) 왼쪽 조건은 false를 반환하므로 캐스트가 발생하지 않습니다. – Paolo
@matt 당신 말이 맞아요. 나는 단지 그 제목을 가로 질러 그 점을 알 수있는 다른 것을 알지 못했다. 나는 나의 타이틀을 업데이트했다. –