변수는 항상 사용 전에 초기화되어야 한다. 배열인덱스는 범위초과에러 out-of-bounds 에러에 대해 검사되어야 한다. 정수는 오버플로우에 대해 검사되어야 한다.옵셔널은 nil값이 명시적으로 처리되도록 한다.nil 은 null과 비슷한 개념 )Swift는 강력한 기능으로 타입 추론과 패턴매칭을 다른 유명한 언어를 개발하는 개발자들에게 친숙한 현대적이고 가벼운 구문으로 결합하여 복잡한 것도 명확하고 간결한 방식으로 표현할 수 있다. 그 결과로 코드는 읽고, 쓰고, 유지하기 쉽다.
불투명한 타입 opaque type을 반환하는 함수는 Swift 5.1런타임이 필요하다.try? 표현식은 이미 옵셔널 optional을 반환하는 표현식에 추가로 옵셔널 표현식을 도입하지 않는다.큰정수 리터럴 초기화 표현식은 올바른 정수타입으로 추론한다. 예를 들어 UInt64(0xffff_ffff_ffff_ffff)는 오버플로우가 아닌 올바른 값이다.동시성 concurrency)은 Swift5언어모드와 동시성 타입을 제공하는 Swift 표준 라이브러리의 버전이 필요하다.Swift6으로 작성된 타겟은 Swift5, Swift4.2 또는 Swift4로 작성된 타겟에 따라 달라질 수 있고, 그 반대의 경우도 마찬가지이다. 즉, ,여러 프레임워크로 분할된 대규모 프로젝트가 있는 경우 코드를 새로운 언어 버전으로 한번에 하나씩 프레임워크로 마이그레이션할 수 있다.