在我找到的在线教程(例如http://bit.ly/SIXlI5)和苹果文档中,没有一个提到发布MKMapItem或placemarks。他们需要被释放吗?如果不需要,为什么不?地图应用程序能处理所有这些吗?
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];发布于 2012-10-09 16:21:24
如果你没有使用ARC,并且你分配了一个对象,你有责任释放它。非那样做不行。
在这种情况下,当您调用openInMaps...时,地图项目信息被编码到一个发送到地图应用程序的网址中。但你不必担心这一点。
您可以预期,除非在头部或文档中调用实例方法,否则实例方法将同步执行其工作,而不会释放接收器。
https://stackoverflow.com/questions/12793671
复制相似问题