配列の初期化が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のサンプルプログラムはここにおきました。
Advertisements