Ich habe 2 Dateien.
Kann ich indexPath.row in der myTabelCell.swift Funktion erhalten?
Hier ist myTableCell.swift
%Vor%Hier ist myTableViewController.swift
%Vor%Wie Sie sehen können ... versuche ich indexPath.row in myTableCell, liktBtnTapped Funktion zu bekommen.
Können Sie mir mitteilen, wie ich auf IndexPath.row zugreifen oder es erhalten kann?
Ich habe eine Erweiterung UIResponder
mit einer rekursiven Methode erstellt, die Sie in UIView
(die von UIResponder
erbt) verwenden können, um eine übergeordnete Ansicht eines bestimmten Typs zu finden.
Damit können wir UITableViewCell
um einige nützliche schreibgeschützte berechnete Eigenschaften für die Tabellenansicht und den Indexpfad der Zelle erweitern.
So können Sie es in Ihrem Beispiel verwenden:
%Vor%Einfach .. Sie können dies innerhalb der Tastenaktion tun:
%Vor% Und danach in cellForRowAtIndexPath
:
Erstellen Sie eine Eigenschaft indexPath
in der Zellklasse und setzen Sie sie in cellForRowAtIndexPath
, wenn die Zelle wiederverwendet wird.
Aber es gibt einen Vorbehalt: Einige Tabellensichtmethoden zum Umordnen der Zellen rufen nicht cellForRowAtIndexPath
auf. Sie müssen diesen Fall berücksichtigen.
Aber wenn Sie immer nur reloadData()
verwenden, ist es sicher und ziemlich einfach.
Eine andere Möglichkeit besteht darin, den Code bezüglich kontrollierender Dinge in die Klasse controller zu setzen und ihn über Callback-Closures auszuführen, die den Indexpfad erfassen.
Tags und Links uitableview swift nsindexpath