扩展程序无法识别Swift类属性

时间:2019-01-07 00:58:11

标签: ios swift uitableview class methods

这已经使我绊倒了一段时间。我试图将列表出列到表视图(嵌入在视图控制器中)。

class mainViewController: UIViewController {
    var topicsE1: [Topic] = [
        Topic(title: "Practice", startDate: "January 5, 2019"),
        Topic(title: "Fundamentals", startDate: "January 6, 2019")]

扩展名:

extension mainViewController: UITableViewDelegate, UITableViewDataSource {
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: "topicCellE1", for: indexPath)

        cell.textLabel?.text = "\(topicsE1.title)" //Error message is here
        return cell
    }

    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return topicsE1.count
    }
}

该类在另一个文件中定义

class Topic {
    var title: String
    var startDate: String

    init(title: String, startDate: String) {
        self.title = title
        self.startDate = startDate
    }
}

该扩展程序识别出topicE1,但显示错误

  

“类型[[主题]”的值没有成员“标题””

代码如上(topicsE1.title)。

1 个答案:

答案 0 :(得分:2)

您需要

cell.textLabel?.text = topicsE1[indexPath.row].title  

topicsE1是一个数组,您无法将.title直接附加到它