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];
}
}
これはなぜトラブルを引き起こす可能性がありますか?
時には私は愚か、または盲目に感じます。ありがとう!私は最近、ちょうどプロジェクトに入ったので、Wilはおそらく後の段階でコードを修正します。 –