元日 に宣言した通り、今年はObjective-Cを覚えようと思ってます。
で。最近勉強しはじめたので忘れないうちにメモ。かなり雑多ですが。
クラスの作り方
.hファイルにインターフェイス
.mファイルに処理を書く
.mファイルの書きかた
@interface // 宣言を書く @end @implementation // 処理を書く - (void) // - はインスタンスから呼べるメソッド { } + (void) // + はクラスの状態で呼べるメソッド { } @end
変数の定義
@interface @property int num; // int型の_num、セッターnum、ゲッターnumを作成 @end @implementation - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil // 初期化 { // どちらも_hogeに0が代入される。 _hoge = 0; self.hoge = 0; } @end
ローカル変数の定義
@implementation - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil // 初期化 { // 3つともnumに0がはいる NSNumber* num = [[NSNumber alloc] initWithInt: 0]; NSNumber* num = [NSNumber numberWithInt:0]; num = @0; // Arrayにプリミティブな値は入らない。 NSArray* arr = @[@0, @1]; // 変更不可 NSMutableArray* mArr = @[@0, @1]; // 変更可 // Dictionaryにもプリミティブな値は入らない。 NSDictionary* dic = @{@"first": @0, @"secand": @1}; // 変更不可 NSMutableDictionary* mdic = @{@"first": @0, @"secand": @1}; // 変更可 } @end
その他もろもろ
typedef int intoooooo; // スコープ内で intoooooo で int の意味になる
NSLog(@"%d", 1); // int型 NSLog(@"%f", 1.0); // float型 NSLog(@"%@", @0); // NSString型
まだこんな感じですが1週間で最初のアプリを申請できるように頑張ってみます。