ここからは、
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のインスタンスを定数として扱われるようにした、といえます)。ですから、例えば変数などに保管して利用する場合は、
NSString* str = @"Hello";
このようになります。
char* strではないのです。まずはこの「2種類のテキスト」について、しっかりと理解しておく必要があるでしょう。――下のリスト欄に、
NSStringのテキストを変数に保管して
NSLogで出力する、というごくごく初歩的なサンプルをあげておきました。
NSLogでは、出力する際には以下のようにしています。
NSLog(@"%@",str);
「
%@」というのは、
Objective-Cのオブジェクト(インスタンス)を埋め込んで出力するのに用いられる記号です。テキストを示す「
%s」ではありません。あらゆる点で、両者は全く違います。