刹那(せつな)の瞬き

Willkömmen! Ich heiße Setsuna. Haben Sie etwas Zeit für mich?

Cocoa: 初期値はどうすればいい?

ヒレガス本3版の6.8節のチャレンジです。
お題の画面では初期値が登録されてたので、そのようにしてみようかと。

ここで初めてメモリ・リークで悩みました。
NSMutableArrayの生成と初期化はinitに置くとして、初期値の代入はどこ?

awakeFromNibに置いたら、なんか動作が遅いというか・・・。
あっ、デバッグコンソールに何かでてる・・・なぜ?

とりあえず、initにまとめる事にしました。

- (id)init
{
    [super init];

    stringList = [[NSMutableArray alloc] init];
    [stringList addObject:@"Mow lawn"];
    [stringList addObject:@"Find a babysitter for Saturday night"];
    [stringList addObject:@"Buy 2 rolls of packing tape"];
    [stringList addObject:@"Order a cake"];

    return self;
}

これだと、初期値をファイルに持つ場合はどう対処すれば良いんだろ。チョット困ります。

さて、編集機能はまだなので、これから実装してみます。

----(追記)

とりあえず、もう一度試したら、awakeFromNibでも正常になりました。

- (id)init
{
    [super init];

    stringList = [[NSMutableArray alloc] init];

    return self;
}

- (void)awakeFromNib
{
    [stringList addObject:@"Mow lawn"];
    [stringList addObject:@"Find a babysitter for Saturday night"];
    [stringList addObject:@"Buy 2 rolls of packing tape"];
    [stringList addObject:@"Order a cake"];
}

NSStringの記述に問題があったのか。デバッガの扱いが悪かったのか。
まぁ、次に進みましょうか。