如何在UITableViewCell中添加值

问题描述

嘿,我是Swift的新手,在这个社区中,非常抱歉我的愚蠢问题。我试图创建一个带有UILabel(用于问题)和tableView(用于答案)的小测验应用。

我找到了一种在UILabel中显示问题的解决方案,但我不知道如何从UITabelView中将答案放入单元格中。

 import UIKit

class ViewController: UIViewController,UITableViewDataSource,UITableViewDelegate {

    struct Question {
        var id: Int
        var questionText: String
        var answers: [String]
        var correctAnswer: Int
    }
    var question1 = Question(id: 1,questionText: "Foo?",answers:["1","2","3","4"],correctAnswer: 2)
    var question2 = Question(id: 2,questionText: "Bar?",correctAnswer: 2)
    var question3 = Question(id: 3,questionText: "Baz?",correctAnswer: 2)

    

    @IBOutlet weak var answerView: UITableView!
    @IBOutlet weak var questionLabel: UILabel!
    
    var listITemArray:[String] = Array()
    
    
    
    override func viewDidLoad() {
        super.viewDidLoad()


        
        overrideUserInterfaceStyle = .light
        setupButtonn()
       
       // answers.append("Aleks")
       // answers.append("Stefan")
       // answers.append("Nico")
        
        answerView.register(UINib.init(nibName: "checkmarkCell",bundle: nil),forCellReuseIdentifier: "CheckListIdentifier")
        answerView.dataSource = self
        answerView.delegate = self
        
        questionLabel.text = question5.questionText
        listITemArray.
        
        
        
    }
    
    func tableView(_ tableView: UITableView,numberOfRowsInSection section: Int) -> Int {
        return listITemArray.count
    }
    
    func tableView(_ tableView: UITableView,cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: "CheckListIdentifier") as! checkmarkCell
        cell.answerLabel.text = listITemArray[indexPath.row]
        cell.selectionStyle = .none
        cell.answerButton.addTarget(self,action: #selector(checkmarkButtonClicked(sender:)),for: .touchUpInside)
        return cell
    }

解决方法

listITemArray当前是一个空数组,因为您没有在此处填充任何数据var listITemArray:[String] = Array(),因此listITemArray.count将在tableView上返回零,因此返回零单元格。

,

首先,您需要将值附加到数组中。您已经初始化了数组,但没有在其中添加值。其次,您可以通过使用按钮标签或使用闭包来做到这一点。如果您愿意,我会附上答案