コンテキスト: 私は、多くの異なるセルを含む TableView で作業しています:それらの 1 つには、複数の注釈を含む MapView が含まれている必要があります。
私がこれまでに得たもの:
//address comes in this format: NSString = @"myStreet myNumber, myZIP myCity, Germany";
- (void) mapPinForAddress: (NSString *)address {
CLGeocoder *geoCoder = [[CLGeocoder alloc] init];
[geoCoder geocodeAddressString:adresse completionHandler:^(NSArray<CLPlacemark *> * _Nullable placemarks, NSError * _Nullable error) {
if (placemarks && placemarks.count > 0) {
CLPlacemark *topResult = [placemarks objectAtIndex:0];
MKPlacemark *placeMark = [[MKPlacemark alloc] initWithPlacemark:topResult];
MKPointAnnotation *adressPoint = [[MKPointAnnotation alloc] init];
adressPoint.coordinate = placeMark.coordinate;
adressPoint.title =@"Title";
adressPoint.subtitle = address;
[mapPins addObject:adressPoint];
}
}];
との内部cellForRowAtIndexPath
:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
if (indexPath.section == mapViewSection) {
myMapCell *cell = [tableView dequeue...];
[cell.mapView addAnnotations:mapPins];
[cell.mapView showAnnotations:mapPins animated:YES];
return cell;
}
そして、ここに私の問題があります:
初めてロードするTableViewController
とき...それは魅力のように機能します...しかし、前のビューに戻って再びセグエに移動すると、TableViewController
機能しません。すべてを NSLog しようとしましたが、出力は同じであるため、mapPinForAddress
毎回呼び出されます。
ヒントやコードはありますか?