Ich habe einen Table View Controller und jede Zelle enthält Benutzerinformationen: Name, Foto und Alter.Wie bekomme ich einen Wert der ausgewählten Zeile von didSelectRowAtIndexPath?
Ich möchte, wenn ich Benutzer aus der Tabellenansicht wählen alle Informationen des Benutzers in einer anderen Ansicht von seiner ID anzeigen, aber er ist nicht innerhalb der Zelle, es ist in einem Server gespeichert, ich lade IDs nicht, wenn alle laden Benutzer in einer Tabelle, weil ich es nicht in dieser Zeit brauche, ich habe nur Namen, Foto und Alter, was kann ich tun?
Ich habe darüber nachgedacht eine Variable innerhalb der Zelle zu erklären, dass die ID darstellen, diese Variable ohne Druck nur id vom Server zu laden, wie folgt aus:
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let student = Student.students[indexPath.row]
if let cell = tableView.dequeueReusableCellWithIdentifier("ourCell", forIndexPath: indexPath) as? MyCellTableViewCell {
var x = loadInfo.id // here id declare variable
return cell
}
Und nachdem dann Funktion didSelectRowAtIndexPath()
zu wissen, welchen Benutzer ich ausgewählt habe, aber auf diese Weise habe ich nur Zelle indexPath in Funktion didSelectRowAtIndexPath()
, kann ich über indexPath auf meine Variable zugreifen, die Benutzer-ID enthält? Oder ist es besser, das zu tun?
nie - es sei denn, Sie absolut keine andere Wahl haben - Einsatz Tabellenansicht Zellen (die Ansicht) Daten gemeinsam nutzen, verwenden immer das Datenquellenarray (das Modell). – vadian
@vadian meinst du ich habe Variable in der Zelle "Ansicht" deklarieren und dann darauf zugreifen? Wie kann ich auf diese Variable zugreifen in didSelectRowAtIndexPath() – amjad
Legen Sie alle benötigten Daten in das 'Studenten'-Array und holen Sie es von dort, da Sie den Indexpfad haben. – vadian