テキストを扱うNSString/NSMutableString (1/6)
作成:2011-02-11 17:41
更新:2011-11-13 16:37
更新:2011-11-13 16:37
■NSStringについて
ここからは、Objective-Cに用意されているさまざまな機能の使い方について説明をしていくことにしましょう。
Objective-Cには「Foundation」と呼ばれるフレームワークが用意されています。ここに、Objective-Cで必要となるさまざまなものが、クラスや構造体、データタイプなどの形で揃えられているのです。ですから、Objective-Cの基本的なオブジェクト指向の仕組みを覚えたら、次にやるべきはこの「Foundationに用意されている主な機能の使い方」を学ぶことだ、といっていいでしょう。――では、まず手始めとして、値の基本ともなる「テキスト」を扱うNSStringクラスの使い方から説明していきましょう。
Objective-Cを使って、最初に驚くのは「テキストが、普通のテキストでない」ということでしょう。例えば、ベースになっているC言語や多くのプログラミング言語では、テキストは"Hello"といった形で書かれ、一般的なテキストの値というのは1つだけに決まっています。
が、Objective-Cは違います。一般的な"Hello"というのは、C言語でよく用いられるchar配列の値ですが、これとは別に、Objective-Cの「オブジェクト」として扱われるテキストが用意されています。これは、既に何度か出てきていますが、@"Hello"というように、はじめに@記号をつけて書かれる方式のものです。
この@"Hello"という形式のテキストは、「NSString」というクラスのインスタンスとして扱われる「オブジェクト」なのです(より正確には、この@"Hello"というような形で書かれたテキストリテラルは「オブジェクト定数」といって、NSStringのインスタンスを定数として扱われるようにした、といえます)。ですから、例えば変数などに保管して利用する場合は、
Objective-Cには「Foundation」と呼ばれるフレームワークが用意されています。ここに、Objective-Cで必要となるさまざまなものが、クラスや構造体、データタイプなどの形で揃えられているのです。ですから、Objective-Cの基本的なオブジェクト指向の仕組みを覚えたら、次にやるべきはこの「Foundationに用意されている主な機能の使い方」を学ぶことだ、といっていいでしょう。――では、まず手始めとして、値の基本ともなる「テキスト」を扱うNSStringクラスの使い方から説明していきましょう。
Objective-Cを使って、最初に驚くのは「テキストが、普通のテキストでない」ということでしょう。例えば、ベースになっているC言語や多くのプログラミング言語では、テキストは"Hello"といった形で書かれ、一般的なテキストの値というのは1つだけに決まっています。
が、Objective-Cは違います。一般的な"Hello"というのは、C言語でよく用いられるchar配列の値ですが、これとは別に、Objective-Cの「オブジェクト」として扱われるテキストが用意されています。これは、既に何度か出てきていますが、@"Hello"というように、はじめに@記号をつけて書かれる方式のものです。
この@"Hello"という形式のテキストは、「NSString」というクラスのインスタンスとして扱われる「オブジェクト」なのです(より正確には、この@"Hello"というような形で書かれたテキストリテラルは「オブジェクト定数」といって、NSStringのインスタンスを定数として扱われるようにした、といえます)。ですから、例えば変数などに保管して利用する場合は、
NSString* str = @"Hello";このようになります。char* strではないのです。まずはこの「2種類のテキスト」について、しっかりと理解しておく必要があるでしょう。――下のリスト欄に、NSStringのテキストを変数に保管してNSLogで出力する、というごくごく初歩的なサンプルをあげておきました。NSLogでは、出力する際には以下のようにしています。
NSLog(@"%@",str);「%@」というのは、Objective-Cのオブジェクト(インスタンス)を埋め込んで出力するのに用いられる記号です。テキストを示す「%s」ではありません。あらゆる点で、両者は全く違います。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
●プログラム・リスト●
※main関数の処理 int main (int argc, const char * argv[]) { NSString* str = @"Hello"; NSLog(@"%@",str); return 0; }
※関連コンテンツ
「初心者のためのObjective-Cプログラミング入門」に戻る