我有一个带有2个UITableViewCell的基本uitableview,我试图用array1.count填充第一个单元格,并用array2.count填充第二个单元格,但是我不知道如何,这是我的代码:
override func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
var value: Int = 0
if(section == 0){
value = 1
}else if(section == 2){
value = 5
}
return value
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
if indexPath.row == 0 {
let cell = tableView.dequeueReusableCell(withIdentifier: Storyboard.cell1, for: indexPath) as! Cell1
cell.lbl_cell1.text = "Subject"
cell.selectionStyle = .none
return cell
} else if indexPath.row == 1 {
let cell = tableView.dequeueReusableCell(withIdentifier: Storyboard.cell2, for: indexPath) as! Cell2
cell.lbl_cell2.text = "Lorem Ipsum es simplemente el texto de relleno de las imprentas y archivos de texto. Lorem Ipsum ha sido el texto de relleno estándar de las industrias desde el año 1500, cuando un impresor (N. del T. persona que se dedica a la imprenta) desconocido usó una galería de textos y los mezcló de tal manera que logró hacer un libro de textos especimen."
cell.selectionStyle = .none
return cell
}
return UITableViewCell()
}
我的错误是我总是在每个单元格中获得1个值,我只想要这个
单元格1的数学运算 单元格2 a,b,c,d,e,f,g,h .....
预先感谢
答案 0 :(得分:2)
尝试一下:
override func numberOfSections(in tableView: UITableView) -> Int {
return 2
}
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
var value: Int = 0
if(section == 0){
value = array1.count
}else{
value = array2.count
}
return value
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
if indexPath.section == 0 {
let cell = tableView.dequeueReusableCell(withIdentifier: Storyboard.cell1, for: indexPath) as! Cell1
item = array1[indexPath.row]
...
return cell
} else {
let cell = tableView.dequeueReusableCell(withIdentifier: Storyboard.cell2, for: indexPath) as! Cell2
item = array2[indexPath.row]
...
return cell
}
}
答案 1 :(得分:0)
您应该使用两个部分来处理此问题,并在UITableViewDataSource
方法中为每个部分添加检查,
let numberOfSections = 2
var firstArray = [String]()
var secondArray = [String]()
override func viewDidLoad() {
firstArray = ["1"]
secondArray = ["a", "b", "c", "d", "e", "f"]
}
override func numberOfSections(in tableView: UITableView) -> Int {
return numberOfSections
}
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
if(section == 0) {
return firstArray.count
} else if(section == 1) {
return secondArray.count
}
return 0
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
if indexPath.section == 0 {
let cell = tableView.dequeueReusableCell(withIdentifier: Storyboard.cell1, for: indexPath) as! Cell1
let title = firstArray[indexPath.row]
cell.lbl_cell1.text = title
cell.selectionStyle = .none
return cell
} else if indexPath.section == 1 {
let cell = tableView.dequeueReusableCell(withIdentifier: Storyboard.cell2, for: indexPath) as! Cell2
let title = secondArray[indexPath.row]
cell.lbl_cell2.text = title
cell.selectionStyle = .none
return cell
}
return UITableViewCell()
}
希望有帮助。