我尝试将泛型collectionview像这样的tableview,但没有成功。如果可以的话,请给我一个建议。在此先感谢
func readLineScanner(r io.Reader, lineNum int) ([]byte, error) {
sc := bufio.NewScanner(r)
lastLine := 0
for sc.Scan() {
lastLine++
if lastLine == lineNum {
break
}
}
return sc.Bytes(), sc.Err()
}
struct和struct的单元格 结构狗{ 命名:字符串 }
class BaseTableVC<T: BaseCell<U>, U>: UITableViewController {
let cellId = "cellId"
var items = [U]()
override func viewDidLoad() {
super.viewDidLoad()
tableView.register(T.self, forCellReuseIdentifier: cellId)
}
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return items.count
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: cellId, for: indexPath) as! BaseCell<U>
cell.item = self.items[indexPath.row]
return cell
}
}
class BaseCell<U> : UITableViewCell {
var item: U!
}
在ViewController中,
class DogCell: BaseCell<Dog> {
override var item: Dog!{
didSet{
textLabel?.text = item.name
}
}
}
答案 0 :(得分:0)
我有同样的问题。问题是我覆盖了numberOfSections(in collectionView: UICollectionView) -> Int
而不是覆盖collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int.
,所以请确保覆盖正确的方法。