1

我创建了 UITableViewCell 的自定义子类。在一个视图控制器中,它工作正常。在另一种情况下,标签显示为默认值(例如@“Label”),但其中没有我想要的文本。就好像插座没有连接一样。但是,在一类中,它运行良好,我看到标签相应地发生了变化。

在两个 ViewControllers 中,在 viewdidLoad 中,我这样做:

[self.baseTableView registerNib:[UINib nibWithNibName:@"TargetDetailTableViewCell" bundle:nil] forCellReuseIdentifier:TargetCellIdentifier];

在 ViewController 的两个 .m 文件中,在方法之上,我有:

static NSString *TargetCellIdentifier = @"TargetDetailTableViewCellIdentifier";

请注意,我尝试在两个类之间更改此字符串标识符,以查看是否是导致问题的原因,而事实并非如此。

然后在 cellForRowAtIndexPath 中,我为两者做同样的事情来获取我的单元格:

TargetDetailTableViewCell *cell = (TargetDetailTableViewCell *)[tableView dequeueReusableCellWithIdentifier:TargetCellIdentifier];

然后我在两者中都做同样的事情并做类似的事情:

cell.descriptionLabel = @"test";

在一个 viewController 中,descriptionLabel 发生了变化,而在另一个 viewController 中则没有。所以我然后尝试将 TargetDetailTableViewCell 更改为标准 UITableViewCell 并且我的值被正确传递给该 UITableViewCell 对象。我看到它的 cell.textLabel.text 确实被分配了,而在我尝试重用这个 UITableViewCell 的第二个 viewController 中,它不起作用。

在不同的 UIViewControllers 中的不同 UITableViews 之间重用 UITableViewCell 有什么遗漏吗?谢谢。

4

0 回答 0