我是否需要发布MKMapItem或地标对象?

时间:2012-10-09 06:00:35

标签: iphone ios6

在我发现的在线教程(例如http://bit.ly/SIXlI5)和Apple文档中,没有提及释放MKMapItem或地标。他们是否需要被释放,如果没有,为什么不呢?地图应用程序是否会处理所有这些?

NSDictionary *address = @{
  (NSString *)kABPersonAddressStreetKey: _address.text,
  (NSString *)kABPersonAddressCityKey: _city.text,
  (NSString *)kABPersonAddressStateKey: _state.text,
  (NSString *)kABPersonAddressZIPKey: _zip.text
};

MKPlacemark *place = [[MKPlacemark alloc] 
       initWithCoordinate:_coords 
       addressDictionary:address];

MKMapItem *mapItem = [[MKMapItem alloc]initWithPlacemark:place];

NSDictionary *options = @{
    MKLaunchOptionsDirectionsModeKey:MKLaunchOptionsDirectionsModeDriving
};

[mapItem openInMapsWithLaunchOptions:options];

1 个答案:

答案 0 :(得分:1)

如果您没有使用ARC,并且您分配了一个对象,则您有责任释放它。这里的所有都是它的。

在这种情况下,当您调用openInMaps ...时,地图项信息会以发送到Google地图应用的网址进行编码。但你不必担心这一点。

您可以预期,除非在标题或文档中调用它,否则实例方法将同步执行其工作而不释放接收器。