我想在自定义单元格的awakeFromNib函数中获取变量内容。

实际上,我这样传递数据:

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

    let cell = tableView.dequeueReusableCell(withIdentifier: "question_cell", for: indexPath) as! QuestionsCell

    cell.answers = ["Answer 1", "Answer 2"]

    return cell
}


在我的QuestionCell文件中,我这样声明了变量:
var answers = [String]()

当我想打印我的答案变量时,在输出控制台[]中有一个空数组

override func awakeFromNib() {
    super.awakeFromNib()

    print("HELLOOOOOOOOOOOO !!!!!!!!!!!!")
    print(answers)
}


你能帮我解决这个问题吗?
谢谢

最佳答案

awakeFromNib()将在调用cell.answers = ["Answer 1", "Answer 2"]中的行cellForRowAt之前被调用。

要响应对答案的更改,可以对变量定义执行属性观察器didSet

只需将var answers = [String]()更改为:

var answers = [String]() {
    didSet {
        print(answers)
    }
}

关于ios - 无法访问单元格内容中的变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59655032/

10-11 23:12