Obj.C

obj.C:NSTreeControllerスタディやり直し3

配列の初期化がnilでないとダメでした。あれーっという感じです。

NSTreeControllerを最初から実装しなおすことにしました。と言っても、サンプルプログラムでTree Controllerの核の部分は出来上がっているので、これを修正し、MesaClipのメインを修正する作業が主になります。

手始めに、あれっということに遭遇しました。LeafもNonLeaf(Files)もFileNodeの入口では次のように配列の有無を訊いています。それで、[NSMutableArray new]で初期化してもNGで、nilで初期化しないといけないことは自分にとって新発見でした。

  • mmChildrenArray = [NSMutableArray new];// NG
  • mmChildrenArray = nil;// OK

if (!mmChildrenArray) {  
        [self CallChildren];  
    }

サンプルプログラムにはメインとなるコードあるいは初期化処理は存在しないので、改めて驚いた次第です。nilならYESなのですが、[NSMutableArray new]ではNOでした。

NSTreeControllerのサンプルプログラムはここにおきました。

Categories: Obj.C, 技術

Tagged as: ,