我想在多达25个表格视图中显示不同的字节数组。但目前仅在第一个表格视图中显示。
我目前有一个UICollectionviewcontroller,带有一个菜单栏,其中最多可以选择25个collectionviewcells进入该单元格。每个单元格都显示另一个CollectionViewCell,并在其中具有一个表格视图。
我正在发送要在表格视图中显示的字节数组。
在给定时间后(如果使用计时器2秒后未接收到任何数据) OR “此会话字节数组接收到所有数据”,菜单栏中将有一个新单元格,并带有一个新的uicollectionviewcell在菜单栏下方有一个新的tableview insde。这将是字节数组的新会话。
我不知道如何使它工作。我见过很多例子,人们使用5个可重用单元格进行5次tableviews
table1.tag = 1
table2.tag = 2
tablex.tag = x
table1.dataSource = self
table1.delegate = self
tablex.delegate = self
etc....
但是在我的情况下,我不知道tableview将有多少个单元格。 有时可能是5 ..或10或25,甚至只有1。这完全取决于数据。
即使每次都是25,并且我将对25个具有不同可重用单元格的案例使用switch语句,并且在每个案例中将数据源和委托设置为self。我认为哪一个不是好的代码。
无论如何,我希望您能为我提供一个解决方案,让我更加清洁!我在编程方面也不是那么有经验。 请问是否有东西!
编辑
class NewReceiveViewController: UICollectionViewController, UICollectionViewDelegateFlowLayout, {
viewDidLoad:
..
collectionView.register(ReceivedCell.self, forCellWithReuseIdentifier: "cell")
MenuBar:在2秒钟的计时器上,它向菜单栏添加了一个新单元格,现在仅使用随机颜色查看其工作情况
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: cellId, for: indexPath as IndexPath) as! MenuCell
cell.backgroundColor = self.colors[indexPath.item]
cell.tintColor = UIColor.rgb(red: 91, green: 14, blue: 13)
return cell
菜单栏下的Collectionview:
override func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "cell", for: indexPath) as! ReceivedCell
cell.tableView.reloadData()
cell.backgroundColor = UIColor.lightGray
return cell
Tableview:
extension ReceivedCell: UITableViewDelegate, UITableViewDataSource {
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return recievedArrays.count //array.count
}
func tableView(_ tableView: UITableView, cellForRowAt IndexPath: IndexPath) -> UITableViewCell {
let cell: UITableViewCell = UITableViewCell(style: UITableViewCell.CellStyle.value1 , reuseIdentifier: tableViewCell)
//...code for labels
return cell
此数据传输非常快速。首先,数据将在第一个表格视图中显示,2秒钟后,它将在下一个CollectionViewCell单元格中创建一个新的表格视图,我想在那里显示数据,然后在接下来的2秒钟中显示,依此类推!