簡體   English   中英

如何在 viewDidLoad 上調用 tableView?

[英]How can I call the tableView on viewDidLoad?

我是 iOS 的新手,我正在嘗試 output 來自selectedContact的數據。 它適用於addressLabel.text但我不知道當它是表格視圖時如何調用它?

class ContactDetailsVC: UITableViewController {

    @IBOutlet var contactDetailsTableView: UITableView!
    
    @IBOutlet var addressLabel: UILabel!
    
    let context = (UIApplication.shared.delegate as! AppDelegate).persistentContainer.viewContext
    
    var persons = [Persons]()
    
    var selectedContact: Persons? {
        didSet {
            getContactDetails()
        }
    }
            
    override func viewDidLoad() {
        super.viewDidLoad()
        
        title = "Contact Details"
        navigationController?.navigationBar.prefersLargeTitles = true
                
        contactDetailsTableView = selectedContact?. // <---- this line
        
        addressLabel.text = ("Address \(selectedContact?.address ?? "")")            
    }
    
    override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {               
       return 5               
    }
    
    override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        
        let cell = tableView.dequeueReusableCell(withIdentifier: "contactDetailsCell", for: indexPath)
        
        cell.textLabel?.text = persons[indexPath.row].firstName! + "\n"
                             + persons[indexPath.row].lastName! + "\n"
                             + persons[indexPath.row].company! + "\n"
                             + persons[indexPath.row].phone! + "\n"
                             + persons[indexPath.row].email! + "\n"
        
        return cell
    }
}

您應該使用以下委托方法:

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    let selectedPerson = persons[indexPath.row]
    // Here you can know what person was selected
}

感謝大家提供的所有線索。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM