TIL
🌱 난 오늘 무엇을 공부했을까?
- 텍스트 부분에 대한 관련 속성(예: 비주얼 스타일, 하이퍼링크 또는 접근성 데이터)이 있는 문자열입니다.
📍 Declaration
class NSAttributedString : NSObject
📍 Overview
NSAttributedString 개체는 문자열의 개별 문자 또는 문자 범위에 적용되는 문자열 및 관련 속성 집합(예: 글꼴 및 커닝)을 관리합니다.
- 문자와 해당 속성의 연결을 attributed string이라고 합니다.
- 클러스터의 두 공용 클래스인 NSAttributedString 및 NSMutableAttributedString은 각각 읽기 전용 속성 문자열과 수정 가능한 속성 문자열에 대한 프로그래밍 방식 인터페이스를 선언합니다.
특성 문자열은 NSDictionary 개체를 사용하여 지정된 이름 아래에 값을 저장하는 이름으로 속성을 식별합니다.
- 원하는 속성 이름/값 쌍을 문자 범위에 할당할 수 있습니다. 사용자 정의 속성을 해석하는 것은 애플리케이션에 달려 있습니다(see Attributed String Programming Guide).
- 핵심 텍스트 프레임워크와 함께 특성 문자열을 사용하는 경우 해당 프레임워크에서 정의한 특성 키를 사용할 수도 있습니다.
- 핵심 텍스트와 같이 속성을 허용하는 모든 API와 함께 속성 문자열을 사용합니다.
- AppKit 및 UIKit 프레임워크는 확장된 텍스트 처리 시스템을 위한 저장소를 제공하기 위해 NSTextStorage라고 하는 NSMutableAttributedString의 하위 클래스도 제공합니다.
- iOS 6 및 이후 버전에서는 속성 문자열을 사용하여 텍스트 보기, 텍스트 필드 및 기타 일부 컨트롤에 서식이 지정된 텍스트를 표시할 수 있습니다.
- AppKit과 UIKit은 또한 현재 그래픽 컨텍스트에서 내용을 그릴 수 있도록 하는 기본 특성 문자열 인터페이스에 대한 확장을 정의합니다.
- NSAttributedString 개체의 기본 글꼴은 Helvetica 12포인트이며 플랫폼의 기본 시스템 글꼴과 다를 수 있습니다.
- 따라서 애플리케이션에 적합한 기본 속성이 아닌 새 문자열을 생성할 수 있습니다.
- NSParagraphStyle 클래스와 하위 클래스인 NSMutableParagraphStyle을 사용하여 NSAttributedString 클래스에서 사용하는 단락 또는 눈금자 속성을 캡슐화할 수도 있습니다.
- isEqual(_: ) 메서드를 사용하는 NSAttributedString 객체의 비교는 정확한 동등성을 찾습니다.
- 비교에는 문자별 문자열 동일성 검사와 모든 속성의 동일성 검사가 모두 포함됩니다.
- 예를 들어 문자열에 첨부 파일, 목록 및 테이블과 같은 많은 속성이 있는 경우 이러한 비교는 일치 항목을 생성할 가능성이 없습니다.