私はObjCとその変更可能な配列にはかなり新しいです。これは私が次のようにします目的C:NSMutableArrayが動作しないのはなぜですか?
;-)狂気私を運転している:
mColumns = [NSMutableArray array];
for(int i=0; i<5; i++) [mColumns addObject:[[MyColumn alloc] init]];
をそのコードの後、私の配列「mColumnsは、」5つの要素が含まれています。しかし、それらのそれぞれはNULLポインタです! (または、少なくともデバッガが私に言っているものです)。 は、私はすでにコード
[[MyColumn alloc] init]
は私にいくつかの有効なオブジェクトを与えることを確認したので、私は私の配列が0x0sで満たされます理由はわかりません。 私にヒントを教えてもらえますか?
NSMutableArrayはNULLポインタを保持できません。何とかあなたはデバッガを誤って解釈しています。あなたはNullであると思っていることについて、より具体的にしたいかもしれません。コードには何も問題はありません。 – hooleyhoop
これらの列を解放することを忘れないでください。あなたはそれらを嘲笑したので、あなたはそれらを解放する必要があります。コレクションはその中にあるオブジェクトを所有していることを覚えているので、配列内にある限り死ぬことはありません。 http://developer.apple。com/mac/library/documentation/Cocoa/Conceptual/MemoryMgmt/ –
デバッガは配列 "NSObject * 0x0の範囲外"の内容として表示されます。それは私にはかわいいね。また、オブジェクト["[[mColumns objectAtIndex:x] addObject:g];のような配列を操作する場合、アプリがクラッシュします。 – Mistefix