libro
www.tuyano.com
初心者のためのObjective-Cプログラミング入門

テキストを扱うNSString/NSMutableString (6/6)

作成:2011-02-12 12:11
更新:2011-11-13 21:31

■NSMutableStringテキストの操作

では、テキストを操作するためのメソッドを見てみましょう。まずは、テキストをつなげるためのものです。以下のようなものが用意されています。
[《NSMutableString*》
    appendString:《NSString*》];
[《NSMutableString*》
    appendFormat:フォーマットテキスト,
    《NSString*》,……];

appendString:は、引数のテキストを末尾に付け足してつなげるものです。appendFormat:は、その後に用意したフォーマット用のテキストに、それ以降にある値をはめ込んで作ったものを付け足します。

どちらも、NSStringに同じ働きのものが用意されていました。が、NSStringのものは「つなげたテキストのNSStringインスタンスを作って返す」というものだったのに対し、NSMutableStringのメソッドは、自信に付け足しをします。ですから、返値を受け取って処理する必要もなく、ただメソッドを呼び出すだけで済みます。

この他、テキスト操作のメソッドとしては、テキストを途中に挿入したり、指定した範囲のテキストを削除するメソッドなどが用意されています。テキストの挿入は以下のようになります。
[《NSMutableString*》 insertString:《NSString*》 atIndex:《NSUInteger》];
挿入するテキストと、挿入する位置を示す値(何文字目か)をそれぞれ引数に指定します。また削除は以下のようになります。
[《NSMutableString*》 deleteCharactersInRange:《NSRange》];
こちらは、NSRangeを使って削除する範囲を指定します。NSRangeは、既に何度か登場しましたが、NSMakeRange関数を使って、位置と長さをそれぞれ指定して一定の範囲を示します。

――では、これらの利用例を下のリスト欄にあげておきましょう。ここでは「Welcome」というテキストに、テキストを追加し、更に途中に挿入し、指定の場所を削除しています。最終的に出力されるのは、「Welcome=to=Obj-C.」というテキストになります。テキストがどう変化していくかを追って考えていくと、それぞれのメソッドの働きもよくわかるでしょう。

NSMutableStringのメソッドを見ると、NSStringのメソッドとだいたい同じようなメソッドが、テキストを直接編集する形で追加されていることがわかるでしょう。NSStringという基本となるクラスをしっかり理解していれば、NSMutableStringもそれほど違いなく使えるようになるでしょう。

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

●プログラム・リスト●

#import <Foundation/Foundation.h>

int main (int argc, const char * argv[]) {
    @autoreleasepool {
        NSMutableString* str = [NSMutableString
               stringWithString:@"Welcome"];
        [str appendString:@"Objective-C."];
        [str insertString:@"=to=" atIndex:7];
        [str deleteCharactersInRange:NSMakeRange(14, 6)];
        NSLog(@"%@",str);
    }
    return 0;
}
※関連コンテンツ

「初心者のためのObjective-Cプログラミング入門」に戻る