推送第二个控制器

问题描述

我已经按照 Codelines 将数据插入到 Tableview。

问题是我可以在这里使用 segle / perfornsegue。

有人知道我如何在用户点击评论按钮时推送第二个控制器吗??

我也已经在 Google 上搜索过如何解决这个问题。

但是由于我还是个初学者,我找不到解决调用第二个控制器的问题。

import UIKit
import FirebaseFirestore

@objc class PostTableViewDataSource: NSObject,UITableViewDataSource,UITableViewDelegate {
    
    private let posts: LocalCollection<Post>
    
    public init(posts: LocalCollection<Post>) {
        self.posts = posts
    }
    
    public convenience init(query: Query,updateHandler: @escaping ([DocumentChange]) -> ()) {
        let collection = LocalCollection<Post>(query: query,updateHandler: updateHandler)
        self.init(posts: collection)
    }
    
    public func startUpdates() {
        posts.listen()
    }
    
    public func stopUpdates() {
        posts.stopListening()
    }
    
    subscript(index: Int) -> Post {
        return posts[index]
    }
    
    public var count: Int {
        return posts.count
    }
    
    func tableView(_ tableView: UITableView,numberOfRowsInSection section: Int) -> Int {
        return count
    }
    
    func tableView(_ tableView: UITableView,cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        
        let cell = tableView.dequeueReusableCell(withIdentifier: Constants.TableView.postTableViewCell,for: indexPath as IndexPath) as! PostTableViewCell
        let post = posts[indexPath.row]
        
        cell.commentButton.addTarget(self,action: #selector(tapped),for: .touchUpInside)
       
        //cell.button.addTarget(self,for: .touchUpInside)
        cell.populate(post: post)
        
        return cell
    }
    
    @objc func tapped() {
        print("Print User touch Button")

       // Jump here to the second Controller 
      
    }

解决方法

您需要使用函数 prepare(for:) 并在 tapped() 中准备转场 使用 ID performSegue()

执行 segue

如何在tableViewCell中执行segue https://www.codingexplorer.com/segue-uitableviewcell-taps-swift/

Segue 中的更多资源 :)

https://www.hackingwithswift.com/example-code/uikit/what-is-a-segue https://www.hackingwithswift.com/example-code/uikit/how-to-perform-a-segue-programmatically-using-performsegue