Objective-C 基本構造

ヘッダの読み込み
#import
C言語ではヘッダの読み込みは#includeだったが、複数のソースファイルを読み込む時に同じヘッダを重複して読まない為に改良された。

main関数
int main(int argc,const char * argv){
return 0;
}
main関数はプログラムが正常に終了した場合は「0」、エラーが発生した場合はその他の整数を返す決まりが有る。
main関数の引数は(int argc,const char * argv
)コマンドライン引数と呼ばれ、ユーザがコマンドラインで指定した値が、「配列」として渡される。

@autoreleasepool{ }
メモリ管理において、ブロックの終了時に自動開放プールと呼ばれる領域に登録しておいたオブジェクトにたいして、releaseメッセージを一斉に送って開放する機能。オブジェクトを利用しないプログラムでも残しておいて問題ない。

NSLog()関数
コンソールに文字列を出力する
引数は 先頭に@ 文字列を" "で囲む
NSLog(NSString *format,...)はObjective-Cの文字列の引数を取り、「,」の後ろに「 ...」と表示されているのは、文字列に続いて別の引数を指定できる。

NSLog(@"今年は%d年です",2012);
NSLog(@"平成%d年は西暦%d年です",24,2012);
NSLog(@"円周率は%fです。",3.14159); //少数を表示
NSLog(@"円周率は%.2fです。",3.14159); //小数第二位まで表示

%@ オブジェクトを指定するフォーマット指定子で、そのオブジェクトに用意されているdescriptionoメソッドを実行して内容を表示する。

NSLog(@"こんにちは%@",@"Objective-C");
結果「こんにちはObjective-C」

%d 符号付整数を10進数で出力する
%u 符号なし整数を10進数で出力する
%o 符号なし整数を8進数で出力する
%x 符号なし整数を16進数で出力する
%ld 符号付整数を10進数で出力する(データ型はlong型)
%lu 符号なし整数を10進数で出力する(データ型はlong型)
%f 少数を出力する
%c C言語の文字(char型の値)を出力する
%s C言語の文字列を出力する
%@ オブジェクトの内容を出力する
特殊文字 % %%をつなげる
" \"バックスラッシュの後に書く
改行 \n
タブ \t

インクリメント ++
[++num; 変数の値が取り出される前に1増やす]
[num++; 変数の値が取り出された後に1増やす]

myNum=30;
newNum=myNum++;

  1. NSLog(@"++を後に記述myNum:%d",myNum);
  2. NSLog(@"++を後に記述newNum:%d",newNum);

myNum=30;

newNum=++myNum;

  1. NSLog(@"++を前に記述myNum:%d",myNum);
  2. NSLog(@"++を前に記述newNum:%d",newNum);

結果

  1. ++を後に記述 myNum:31
  2. ++を後に記述newNum:30
  1. ++を前に記述myNum:31
  2. ++を前に記述newNum:31