let story = NSString("...") // 긴 텍스트
let text = NSMutableAttributedString(string: story)

// 브릿징 구간 - 개선 전
// let range = text.string.range(of: "Brown")! 
// let nsrange = NSRange(range, in: text.string) 
//
// 브릿징 구간 - 개선 후
// let string = text.string // 브릿징을 한번만 한다.

// let range = string.range(of: "Brown")
// let nsrange = NSRange(range, in:string)
// 
// 브릿징 구간 - 더 개선

let text = NSMutableAttributedString(string: story)
let string = text.string as NSString // 브릿징 안함
let nsrange = string.range(of: "Brown") // 여기서도 작지만 브릿징이 일어나고 있다(Swift 타입을 가지고 Objective-C API 호출)

text.addAttribute(.foregroundColor, value: NSColor.brown, range: nsrange)