dequeueReusableCellWithIdentifier加载旧单元格(包含不再存在的字段)

时间:2015-01-17 15:59:10

标签: ios objective-c xcode uitableview uistoryboard

我正在尝试从自定义UITableViewCell(MyTableViewCell)中删除字段,但是当我运行dequeueReusableCellWithIdentifier并查看调试控制台时,它会显示我已删除的字段!

这是调试控制台。您可以看到类型MyTableViewCell的类型 enter image description here

但这是MyTableViewCell类。它没有字段titleLabelgradientTitleBackgroundmyImageView。 (因为我删除了它们)

#import <UIKit/UIKit.h>
#import "RouteImageView.h"

@interface MyTableViewCell : UITableViewCell

@property (nonatomic, weak) IBOutlet RouteImageView *routeImageView;
@property (nonatomic, weak) IBOutlet UILabel *totalMilesLabel;
@property (nonatomic, weak) IBOutlet UILabel *progressLabel;
@property (nonatomic, weak) IBOutlet UIProgressView *progressView;

@property (nonatomic, weak) IBOutlet UIImageView *medalPlaceholder;
@property (nonatomic, weak) IBOutlet UIImageView *medal;

@end

接下来的两个镜头显示我的故事板配置。您可以看到我有一个带有重用ID的tableview单元格:“walk_item”,并且此单元格已映射到MyTableViewCell类...

enter image description here

我加载单元格的行(以及我在哪里读取调试控制台)在这里:

MyTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"walk_item"];

那么为什么细胞不能正确更新?这是一个问题,因为当我尝试添加新字段并将它们连接到IABOutlet时,程序崩溃了EXEC_BAD_ACCESS!在storyboard和我的自定义UITableViewCell类之间没有正确连接。任何关于如何调试这个想法的建议都非常感谢。

2 个答案:

答案 0 :(得分:0)

使用dequeueReusableCellWithIdentifier:forIndexPath代替简单dequeueReusableCellWithIdentifier。使用该功能时,我也有表的奇怪问题

MyTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"walk_item" forIndexPath:indexPath];

答案 1 :(得分:0)

答案是做一个干净的构建。