我建立了这样的视图:
并限制:
这是一个代码:
主控制器
class SelectTagsViewController: UIViewController, UITextFieldDelegate {
@IBOutlet weak var selectedTagsTableView: UITableView! //added table view
let allTags: [String] = ["Qwerty", "IT", "Manic", "VR", "WishHook", "Books", "Programing", "Aplication", "Something", "Fly", "Swift", "Earth", "Orbit", "Mars", "Summer", "Monkey", "AR", "Space"]
var selectedTags: [String] = ["Qwerty", "IT", "Manic", "VR"]
override func viewDidLoad() {
super.viewDidLoad()
selectedTagsTableView.tableFooterView = UIView(frame: CGRect.zero)
selectedTagsTableView.backgroundColor = .lightGray
selectedTagsTableView.register(SelectedTagCell.self, forCellReuseIdentifier: "SelectedTagCell")
}
}
表格视图扩展
extension SelectTagsViewController: UITableViewDelegate, UITableViewDataSource {
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let lable = selectedTags[indexPath.row]
let cell = selectedTagsTableView.dequeueReusableCell(withIdentifier: "SelectedTagCell") as! SelectedTagCell
cell.tagNameLabel.text = lable
return cell
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return selectedTags.count
}
}
单元格的类
class SelectedTagCell: UITableViewCell {
@IBOutlet weak var tagNameLabel: UILabel!
@IBOutlet weak var removeTagButton: UIButton!
@IBAction func removeTagButtonTapped(_ sender: Any) {
}
}
但是未显示单元格:
所有代码都在一个文件中,所有类和标识符都连接到组件。 我想念什么?
答案 0 :(得分:1)
根据@Adrian的建议,我在下面添加了委托和数据源,并且所有这些现在都可以工作。
selectedTagsTableView.delegate = self
selectedTagsTableView.dataSource = self
修复了nil值的问题,删除了以下代码:
selectedTagsTableView.register(SelectedTagCell.self, forCellReuseIdentifier: "SelectedTagCell")