我正在创建带故事板的自定义UITableViewCell,我创建自定义类并将元素拖动到它,但后来我创建单元格然后它的方法
运行
cell = [[TestCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellId];
未初始化的单元格元素。为什么呢?
具有默认实现的类,在storyboard中我引用了测试标签:
@interface TestCell : UITableViewCell
@property (strong, nonatomic) IBOutlet UILabel *test;
我创建了单元格
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *cellId = @"TestCellIdentifier";
TestCell *cell = [tableView dequeueReusableCellWithIdentifier:cellId];
if (!cell)
{
cell = [[TestCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellId];
}
DetailItem *item = _currentItems[indexPath.row];
cell.test.text = item.title;
return cell;
}
问题是我创建了单元格,测试UILabel是零。 这是在从第一个UITableViewController到下一个
的segue之后发生的答案 0 :(得分:0)
Step1,您可以在if语句中设置断点:
if (!cell)
{
=> cell = [[TestCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellId];
}
永远不应该触发断点。由于您使用Storyboard和Cell重用标识符设置正确
如果Step1通过,请检查Step2
步骤2,如果您已将故事板中的“测试”UILabel连接到您的TestCell,请检查故事板
答案 1 :(得分:0)
你必须输入像
这样的种姓 TestCell *cell1 = (TestCell *)[tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];