Ich übergebe ein NSArray, das Objekte enthält, an einen Bildschirm, auf dem die Objekteigenschaften in einer Tabelle angezeigt werden. Jedes dieser Objekte enthält eine latitude-Eigenschaft und eine longitude-Eigenschaft. Ich möchte eine Funktionalität implementieren, bei der der Benutzer eine Zelle auswählt (wobei jede Zelle ein Objekt aus dem NSArray darstellt) und der Benutzer dann zu einem anderen Bildschirm weitergeleitet wird, wo er eine Anmerkung sehen kann, die den Standort des Objekts auf einer Karte darstellt. und eine Anmerkung, die den Benutzer darstellt. Wie mache ich das? Hier ist mein entsprechender Code aus meiner RootViewController.m Klasse:Wie zeige ich einen Ort aus einer Tabelle auf einer Karte auf dem nächsten Bildschirm an?
SecondViewController *controller = [[SecondViewController alloc] initWithNibName:@"SecondView" bundle:[NSBundle mainBundle]];
self.secondViewController = controller;
[controller release];
self.secondViewController.locationList = sortedLocations;
[[self navigationController] pushViewController:controller animated:YES];
Mein entsprechender Code in SecondViewController.m wie folgt aussieht:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"locationcell";
LocationTableViewCell *cell = (LocationTableViewCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[LocationTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
}
Location *location = [locationList objectAtIndex:indexPath.row];
cell.locationName.text = location.name;
cell.locationAddress.text = location.address;
cell.locationDistance.text = location.distance;
return cell;
}
Bitte beachten Sie, dass die sichtbaren Eigenschaften Name sind, Adresse, und Entfernung, aber das Standortobjekt enthält auch Breiten- und Längengradeigenschaften. Ich weiß, dass ich einen neuen Bildschirm namens MapViewController erstellen muss. Aber wie gesagt, ich bin mir nicht sicher, wohin ich von der Tabelle auf dem Bildschirm zu einer Karte gehen soll, die das Standortobjekt und den Benutzer zeigt.
Vielen Dank für Ihre schnelle Antwort. Ich hatte eine Follow-up-Frage für dich. Welcher Typ ist * locationObj? Das wirft mich ab. Nochmals vielen Dank für Ihre Zeit und Geduld. – syedfa
In der Datei MyLocationMapViewController.h. Ort erstellen * locationObj. Legen Sie @property für die Location-Variable fest. Hoffe es ist jetzt klar. – Swapna
Vielen Dank für Ihre schnelle Antwort. Ich hatte noch eine weitere Frage. Als ich die MyLocationMapViewController-Klasse erstellt habe, wurde die relevante .xib-Datei von xcode nicht für mich erstellt. Wenn ich meine eigene .xib-Datei erstellen soll, wie würde ich sie mit der MyLocationMapViewController-Klasse verknüpfen? Ich entschuldige mich, aber ich bin sehr neu in der iPhone-Entwicklung. Danke nochmal für deine Hilfe. – syedfa