Foundation을 가져올 때 갑자기 String
개체 (그 중에서도)가 전에 없었던 많은 작업을 수행 할 수 있습니다. 이 기능은 어떻게 작동합니까? 그것에 단점이 있습니까? 가져 오기를 추가하기 전에 작성한 코드의 동작이 변경됩니까?Foundation에서 String으로 가져 오는 작업은 무엇입니까?
답변
Foundation의 NSString
클래스는 Swift의 String
에 대한 bridged 클래스이므로 해당 메소드는 extensions on the built-in String type으로 표시됩니다.
NSString 메서드 중 하나를 호출하면 개체는 magically bridged to Objective-C이고 subclass of NSString이됩니다.
이것은 내 질문에 실제로 대답하지 않습니다 ... 나는 재단이'String'을 변경한다는 것을 압니다. 그러나 질문은 * 그것이 어떻게 바뀌는 지입니다. 'String' 타입 전체가 다른 데이터 타입입니까? Swift 'String' 네이티브에 무슨 일이 일어 났습니까? 또는 Swift는 문자열을 NSString으로 변환 한 다음 Foundation 메서드를 호출 할 때마다 원래 형식으로 되돌립니다. –
대체되지는 않으며 새로운 방법과 브리징 지원 만 있습니다. – jtbandes
그래서 기초 메서드를 호출하면 문자열에 정확히 무슨 일이 발생합니까? –
예. – rmaddy