我正在使用这样的自定义单元格:
PropertyCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
并注册为:
[self.tableView registerNib:[UINib nibWithNibName:@"PropertyCell" bundle:nil] forCellReuseIdentifier:@"PropertyCell"];
类声明为:
@interface PropertyCell : UITableViewCell <UITextFieldDelegate>
它在xib中包含一个UITextField,我需要在init上为它分配一个委托。
问题是:
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
在这种情况下永远不会调用。
该出队机制使用哪种初始化程序?
答案 0 :(得分:2)
您将要使用此问题中公布的initWithCoder或awakeFromNib ...
答案 1 :(得分:0)
确保使用UITableViewDataSource
方法初始化您的单元格:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *PropertyCellIdentifier = @"PropertyCell";
PropertyCell *cell = [tableView dequeueReusableCellWithIdentifier: PropertyCellIdentifier];
if (!cell) {
cell = [[PropertyCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier: PropertyCellIdentifier];
}
// configure cell
return cell;
}