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の記述に問題があったのか。デバッガの扱いが悪かったのか。
まぁ、次に進みましょうか。