我用.xib文件创建表格单元格。并使用以下代码添加到UITableView中:
-(UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
DesplayCell *cell = [tableView dequeueReusableCellWithIdentifier:@"desplayCell"];
if (!cell) {
[tableView registerNib:[UINib nibWithNibName:@"DisplayCell" bundle:nil] forCellReuseIdentifier:@"desplayCell"];
}
//
return cell;
}
App因崩溃而崩溃:
无法从其dataSource获取单元格
答案 0 :(得分:1)
我忘记在您的代码中添加import Vue from 'vue'
import Component from 'vue-class-component'
// The @Component decorator indicates the class is a Vue component
@Component({
template: ''
})
export default class MyComponent extends Vue {
}
。
dequeueReusableCellWithIdentifier使用
您应该对同一表单的所有单元格使用相同的重用标识符。 重用标识符与具有相同通用配置,减去单元格内容的表视图的那些单元(行)相关联。
dequeueReusableCellWithIdentifier
}
答案 1 :(得分:0)
你可以这样使用
在viewDidLoad中写下代码
[tableView registerNib:[UINib nibWithNibName:@"DisplayCell" bundle:nil] forCellReuseIdentifier:@"desplayCell"];
在cellForRowAtIndexPath中,您可以在下面写下
-(UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
DesplayCell *cell = [tableView dequeueReusableCellWithIdentifier:@"desplayCell"];
if (cell == nil) { // if cell is nil then you can alloc it
cell=[[DesplayCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"desplayCell"];
cell = [tableView dequeueReusableCellWithIdentifier:@"desplayCell"];
}
return cell;
}
答案 2 :(得分:0)
答案就像Siddhesh Mhatre post但是你应该创建一个UITableView类,它对大型项目很有用。
<强>的UITableView + Category.h 强>
- (id)dequeueReusableOrRegisterCellWithIdentifier:(NSString *)identifier;
- (id)dequeueReusableOrRegisterCellWithClass:(Class)aClass;
<强>的UITableView + Category.m 强>
- (UITableViewCell *)dequeueReusableOrRegisterCellWithIdentifier:(NSString *)identifier{
UITableViewCell *cell = [self dequeueReusableCellWithIdentifier:identifier];
if (!cell) {
[self registerNib:[UINib nibWithNibName:identifier bundle:nil] forCellReuseIdentifier:identifier];
cell = [self dequeueReusableCellWithIdentifier:identifier];
}
return cell;
}
- (UITableViewCell *)dequeueReusableOrRegisterCellWithClass:(Class)aClass{
UITableViewCell *cell = [self dequeueReusableCellWithIdentifier:NSStringFromClass(aClass)];
if (!cell) {
[self registerClass:aClass forCellReuseIdentifier:NSStringFromClass(aClass)];
cell = [self dequeueReusableCellWithIdentifier:NSStringFromClass(aClass)];
}
return cell;
}