我正在使用CLGeocoder,我正在使用块作为完成处理程序。我不确定我创建的CLGeocoder实例的保留/释放周期。
以下是基本代码:
CLGeocoder* geocoder = [[CLGeocoder alloc] init];
[geocoder reverseGeocodeLocation:newLocation completionHandler:
^(NSArray* placemarks, NSError* error)
{
// process the placemarks...
[geocoder autorelease];
}
];
自动释放地理编码器作为块的最后一行是推荐的处理方法吗?任何建议都表示赞赏!
答案 0 :(得分:1)
您可以释放它(不需要自动释放)当您不确定何时需要释放对象时(例如在方法结束时返回对象或方便方法),自动释放是> p>
在这种情况下,您确定已完成使用该对象,因此可能会将其释放。当然,自动释放也有效,但在内存中存在的时间更长。