OMG*_*POP 35 cocoa-touch uitableview uikit ios
我有几个表默认单元格,例如带标题的单元格,或左侧带图标的单元格和右侧标题.
我不想在故事板中添加这些单元格并为其分配标识符,是否可以这样做?
它必须是可重用的,我知道如何分配新的不可重用的单元格
我试过下面的答案,
[self.tableView registerClass:[UITableViewCell class] forCellReuseIdentifier:MyCellIdentifier];
Run Code Online (Sandbox Code Playgroud)
应该是正确的,但这是非常乏味的,很容易忘记
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];
if (!cell) {
cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier];
}
Run Code Online (Sandbox Code Playgroud)
以上可能更好,因为它将所有代码放在一个地方,但是当我尝试dequeueReusableCellWithIdentifier:forIndexPath :(使用indexPath)时它会崩溃.
Flo*_*rel 51
如果故事板中没有任何原型单元格,则可以使用dequeueReusableCellWithIdentifier:api创建经典单元格
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];
if (!cell) {
cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier];
}
Run Code Online (Sandbox Code Playgroud)
迅速:
var cell : UITableViewCell!
cell = tableView.dequeueReusableCell(withIdentifier: cellIdentifier)
if cell == nil {
cell = UITableViewCell(style: .default, reuseIdentifier: cellIdentifier)
}
Run Code Online (Sandbox Code Playgroud)
Joe*_*yer 13
您可以在故事板中没有原型单元格的情况下将UITableViewCell出列.您需要在表中注册单元格以获取特定标识符(字符串).你会这样做:
[self.tableView registerClass:[UITableViewCell class] forCellReuseIdentifier:MyCellIdentifier];
Run Code Online (Sandbox Code Playgroud)
你可以这样做viewDidLoad,也许吧.
然后,您可以cellForRowAtIndexPath像往常一样使用方法中的标识符将单元格出列.
编辑:
哪里MyCellIdentifier是你在什么地方定义,当然,一个常数.
Nik*_*Kov 13
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell: UITableViewCell = {
guard let cell = tableView.dequeueReusableCell(withIdentifier: "cell") else {
return UITableViewCell(style: .default, reuseIdentifier: "cell")
}
return cell
}()
cell.textLabel?.text = anyArray[indexPath.row]
return cell
}
Run Code Online (Sandbox Code Playgroud)
这很好,因为给细胞打开了.
| 归档时间: |
|
| 查看次数: |
36401 次 |
| 最近记录: |