언어 사양에 설명 된대로 확장을 사용하여 기존 Swift 객체 유형에 확장을 추가 할 수 있습니다 .
결과적으로 다음과 같은 확장을 만들 수 있습니다.
extension String {
var utf8data:NSData {
return self.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: false)!
}
}
그러나 그러한 확장자를 포함하는 Swift 소스 파일에 가장 적합한 명명 방법은 무엇입니까?
과거에이 규칙은 Objective-C 안내서extendedtype+categoryname.m
에서 논의 된 것처럼 Objective-C 유형 에 사용 되었습니다 . 그러나 Swift 예제에는 범주 이름 이 없으므로 호출하는 것이 적절하지 않습니다.String.swift
질문은 위의 String
확장명을 사용하면 신속한 소스 파일을 어떻게 호출해야합니까?
ClassName+ExtensionName
형식을 따르며 여전히 많은 사람들이 사용하지 않는 것을 보았습니다. 게다가 클래스와 확장명을 함께 정의하거나 파일에 더 나은 이름을 지정 FooAbleTypes
하고 인스턴스를 집계하여 정의하는 대신에 그 복잡함을 발견했습니다 .
Extensions.swift
. 그렇게하면, 당신은 그것들을 잃지 않을 것이고 코드베이스를 처음 접하는 사람들은 즉시 그들을 알 수 있습니다. 그리고 일회용 파일 확장자를 필요한 파일에 비공개로 유지하고 싶습니다.