NSString

ここには、NSString に関することをメモしていく。

Ruby の String オブジェクトから NSString オブジェクトを作るには、NSString のメソッドを使って、

nsString = NSString.stringWithUTF8String(rubyString)

なんて書いてもいいけど、ただ単に、

nsString = rubyString.to_ns

とするだけでも、NSString オブジェクトに変換できる。この to_ns は Array や Hash なんかでも使える。それぞれ、NSArray (NSCFArray)、NSDictionary (NSCFDictionary) オブジェクトになる。

ある範囲のテキストを抜き出す

NSString から、NSRange を使ってその範囲のテキストを抜き出すには、substringWithRange を使う。

例えば、NSTextView でマウスを使ったりしてテキストを選択した後に、その選択したテキストを取り出す場合は次のようにする。

selectedRange = @textView.selectedRange

selectedText = @textView.string.substringWithRange(selectedRange)

ここでは、まず、Text View 上で選択されたテキストの範囲を selectedRange で NSRange オブジェクトとして取り出して、string で NSTextView に表示されているテキストを NSString オブジェクトとして取り出し、その NSString オブジェクトから、substringWithRange を使ってその範囲のテキストを取り出して、selectedText に NSString として入れている。