【发布时间】:2012-05-07 00:12:15
【问题描述】:
我最近将一些代码转换为 ARC,其中大部分代码不是我自己编写的,但现在我已经尝试了几个小时来弄清楚这一点。
此代码在不在 ARC 上时运行良好,但在分析时会产生一些潜在的泄漏。
当我运行时,第三行出现异常: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];
}
}
有人知道为什么这会引起麻烦吗?
【问题讨论】:
标签: iphone objective-c ipad ios5 automatic-ref-counting