Ios (Swift)表格视图控制器。cellForRowAt未触发

Ios (Swift)表格视图控制器。cellForRowAt未触发,ios,swift,uitableview,Ios,Swift,Uitableview,问题: tableView控制器未在表中显示categoryArray项 诊断: -触发第一个tableView numberOfSections方法并返回1(打印(categoryArray.count) -第二个tableView cellForRowAt方法从未启动(打印语句不起作用) -表视图控制器不需要委托。但是,我尝试添加tableView.delegate=self -x代码重新启动没有帮助 问题: 为什么第二个tableView方法不起作用,以及如何解决这个问题 import U

问题: tableView控制器未在表中显示categoryArray项

诊断:
-触发第一个tableView numberOfSections方法并返回1(打印(categoryArray.count)
-第二个tableView cellForRowAt方法从未启动(打印语句不起作用)
-表视图控制器不需要委托。但是,我尝试添加tableView.delegate=self
-x代码重新启动没有帮助

问题: 为什么第二个tableView方法不起作用,以及如何解决这个问题

import UIKit
import CoreData

class CategoryViewController: UITableViewController {

    var categoryArray = [Category]()
    let context = (UIApplication.shared.delegate as! AppDelegate).persistentContainer.viewContext

    override func viewDidLoad() {
        super.viewDidLoad()
        loadCategories()
    }

    // MARK: - TableView DataSource Methods

    override func numberOfSections(in tableView: UITableView) -> Int {
        return categoryArray.count
    }

    override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        print("this should print")
        let cell = tableView.dequeueReusableCell(withIdentifier: "CategoryCell", for: indexPath) as! CategoryCell

        let category = categoryArray[indexPath.row]
        cell.categoryNameTextField.text = category.name

        return cell
    }
  • 代替
    numberOfSections
    实施
    numberOfRows

    override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return categoryArray.count
    }
    
  • viewdiload
    的末尾,重新加载表格视图

    override func viewDidLoad() {
        super.viewDidLoad()
        loadCategories()
        tableView.reloadData()
    }
    
    如果
    loadCategories()
    包含异步内容,请在加载数据时重新加载表视图