Objective-C 基礎(9)- 可変文字列とNSMutableStringクラス




NSStringクラスで保持している文字列は直接変更することができません。たくさんのメソッドが用意されていますが、保持している文字列を直接変更しているのではなく、処理結果を新しいNSStringオブジェクトとして返しています。

文字列オブジェクトを変更したい場合はNSMutableStringクラスを使用します。Objective-CではこのようなNSMutable***クラス(変更できる)とNS***クラス(変更できない)のようなペアがよくあるので覚えておくと良いと思います。NSMutableStringクラスの使い方は以下の通りです。

§1 文字列の生成

●文字列(変更可能)の生成

NSMutableStringはNSStringのサブクラスなので、NSStringのメソッドを使うことができます。ここではNSStringのメソッドであるstringWithString、stringWithCString、stringWithFormatの3種類を使用してインスタンスを生成しています。

§2 文字列の操作

●文字列を変更する

ここでは、mTestStr1の保持している文字列を直接変更しています。

●文字列を追加する

appendStringメソッド、appendFormatメソッドを使ってmTestStr1の後ろに文字列を追加しています。

●指定したインデックスの位置に文字列を挿入する

insertString:atIndexメソッドを使って、指定インデックスの位置に文字列を挿入しています。

●指定範囲の文字列を削除する

deleteCharactersInRangeメソッドで文字列を削除しています。削除する範囲はNSRangeオブジェクトを渡して範囲指定します。ここではインデックス8から数えて20文字数分を削除しています。

●指定範囲の文字列を置換する

replaceCharactersInRange:withStringメソッドを使用して指定範囲の文字列を置換しています。置換する範囲はNSRangeオブジェクトを渡して範囲指定します。ここではインデックス4から数えて2文字数分を削除しています。

Objective-C 基礎 目次

以下の記事も参考にして頂ければと思います。
Objective-C 基礎(1)- Xcodeのインストールとプロジェクトの作成
Objective-C 基礎(2)- Objective-Cの概要とメソッドの呼び出し
Objective-C 基礎(3)- クラス定義の方法
Objective-C 基礎(4)- クラスの使い方
Objective-C 基礎(5)- クラスメソッドとインスタンスメソッド
Objective-C 基礎(6)- 変数のスコープとプロパティ
Objective-C 基礎(7)- 変数のデータ型
Objective-C 基礎(8)- 文字列とNSStringクラス
Objective-C 基礎(9)- 可変文字列とNSMutableStringクラス
Objective-C 基礎(10)- Objective-Cの配列
Objective-C 基礎(11)- Objective-Cの連想配列
Objective-C 基礎(12)- ループ処理
Objective-C 基礎(13)- プロトコル


シェアして頂けると嬉しいです

















チャーム本店



価格.com ブロードバンド

価格.com 自動車保険









■コメントはお気軽にどうぞ