Ich habe eine Tabellenansicht in einer VC, die über einen Navigationscontroller verfügt und benutzerdefinierte Tabellenzellen enthält. Ich habe mich gefragt, was die beste Vorgehensweise ist, um auf den Navigations-Stack des übergeordneten VCs zu gelangen, wenn eine Schaltfläche in der benutzerdefinierten Tabellenzelle angetippt wird. Ich bin in der Lage, dies zu funktionieren, wenn ich den Navigationscontroller der Eltern-VC an die Zelle übergebe; Aber ist das die effektivste/effizienteste Praxis? Bitte beachten Sie meine aktuelle Implementierung unter:iOS Swift: Verschieben einer Ansicht auf den Stack aus einer benutzerdefinierten Tabellenansicht Zelle
UserAccountVC:
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell:TextPostTableViewCell = Bundle.main.loadNibNamed("TextPostTableViewCell", owner: self, options: nil)?.first as! TextPostTableViewCell
cell.setupCell(navigationController: self.navigationController!)
cell.selectionStyle = .none
return cell
}
CustomTableCell:
import UIKit
class TextPostTableViewCell: UITableViewCell {
var aNavigationController: UINavigationController!
//MARK: Actions
@IBAction func profilePicButtonTapped() { //We want to present a users profile
let sb = UIStoryboard(name: "SuccessfulLogin", bundle: nil)
let cc = (sb.instantiateViewController(withIdentifier: "otherUserViewController")) as! OtherUserAccountViewController
self.aNavigationController.pushViewController(cc, animated: true)
}
func setupCell(navigationController: UINavigationController) -> Void {
aNavigationController = navigationController
}
}
Vielen Dank im Voraus!
Vielen Dank, das ist gut zu wissen! –