読者です 読者をやめる 読者になる 読者になる

みかづきブログ その3

3ヶ月つづけてみました。

Objective-Cをはじめよう。

元日 に宣言した通り、今年は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週間で最初のアプリを申請できるように頑張ってみます。