1日1%成長するブログ

毎日成長するために仕事/プライベートで得た学びをアウトプットするブログです

Objective-Cの基礎的文法の備忘録

変数

  • 変数の型 変数名:
int num = 100;
int num;
num = 100;
  • データの種類
    • int: 整数
    • float: 小数点つきの数値
    • BOOL: YES/NOに使う
    • 変数には数値しか入らない

ポインター変数

  • ポインター変数とは「メモリ上のオブジェクトを指し示すアドレス」の数値が入っている
  • 作る時は「*」をつけて作り、使う時は「*」を外して使う

文字データを扱う

  • NSStringを使う
  • @“"で囲む
NSString *str = @"Hello World";

NSLogで出力する

  • 文字列は%@で囲み、数値は%dで囲む
NSLog(@"%@%d%@", @"残りは", 3, @"回です");

クラス定義

  • ヘッダ部と実装部で分ける
/* クラスの宣言部 */
@interface MyClass : NSObject {
}
- (void)myMethod;
@end

/* クラスの実装部 */
@implementation MyClass
- (void)myMethod {
    // メソッドの処理を記述
    printf("Hello World.\n");
}
@end

メソッド定義

-(返す型)メソッド名 {
   メソッドの中身
}

が基本。「-」はインスタンスメソッド。「+」はクラスメソッド

@implementation MyClass
- (void)myMethod {
    printf("Hello World.\n");
}
+ (void)myMethod2
{
    printf("Hello World2.\n");
}
@end

メソッド実行

id test = [[MyClass alloc] init];
//インスタンスメソッド実行
[test myMethod];
//クラスメソッド実行
[MyClass myMethod2];
  • それぞれ[インスタンス名 メソッド名]、[クラス名 メソッド名]で実行できる

allocとinitとnew

  • alloc

  • init

    • メモリ上にロードされたインスタンスに対して実行する。 → インスタンスがデータを保存出来る状態にする。コンストラクタを呼ぶ
  • new

    • alloc + init
//以下は同じ意味
id test = [[MyClass alloc] init];
id test = [MyClass new];

id型

  • 汎用オブジェクト型
  • 最初に型を決めずに変数を用意し、実際に使うタイミングで型を決定する
 id test; //型は決まっていない
 test = [MyClass new]; //この時点でMyClass型になる