2012-04-26 10 views
0

最近私はいくつかのコードをARCに変換しましたが、ほとんどのコードは自分で書いていませんでしたが、今私はこれを数時間試しています。EXC_BAD_ACCESSコード= 2 ARCを使用したObj-Cコードのエラー

このコードは、ARCではないときには正常に動作しますが、分析するとリークが発生する可能性があります。

私が実行すると、3番目の行で例外が発生します。poi [i] = [MapPOI alloc]、 しかし、私の推測では、他のセグメントもまた問題を引き起こす可能性があります。

poi = (__strong MapPOI **)malloc(sizeof(MapPOI *) * dbsize); 
for (int i = 0; i < dbsize; i++) { 
    poi[i] = [MapPOI alloc]; 
} 
poilayer = (__strong CALayer **)malloc(sizeof(CALayer *) * (dbsize + (extraDB == nil ? 0 : [extraDB count]))); 

if (extraDB != nil) { 
    extraPOI = (__strong MapPOI **)malloc(sizeof(MapPOI *) * [extraDB count]); 
    for (int i = 0; i < [extraDB count]; i++) { 
     extraPOI[i] = [MapPOI alloc]; 
    } 
} 

これはなぜトラブルを引き起こす可能性がありますか?

答えて

2

これはなぜトラブルを引き起こす可能性がありますか?

よく、-initMapPOIオブジェクトに失敗しています。

また、NSArrays(またはNSMutableArrays)に格納する必要があります。

+0

時には私は愚か、または盲目に感じます。ありがとう!私は最近、ちょうどプロジェクトに入ったので、Wilはおそらく後の段階でコードを修正します。 –

関連する問題