我的故事板中有一个名为YesNoTableViewCell
的自定义单元格原型。在那个单元格中,我有UITextField
。
我希望在我的自定义单元格类中使用UITextField
的委托方法。
这是我的代码:
myController的
- (UITableViewCell *)tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"YesNoTableViewCell";
YesNoTableViewCell *cell = [tableView
dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil){
cell = [[YesNoTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
reuseIdentifier:CellIdentifier];
}
[cell setSelectionStyle:UITableViewCellSelectionStyleNone];
return cell;
}
YesNoTableViewCell.m
@interface YesNoTableViewCell : UITableViewCell <UITextFieldDelegate>
@property (weak, nonatomic) IBOutlet UITextField *yesNoInput;
@end
YesNoTableViewCell.h
#import "YesNoTableViewCell.h"
@implementation YesNoTableViewCell
@synthesize yesNoInput = _yesNoInput;
- (id)initWithStyle:(UITableViewCellStyle)style
reuseIdentifier:(NSString *)reuseIdentifier
{
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (self) {
_yesNoInput.delegate = self;
}
return self;
}
- (void)setSelected:(BOOL)selected animated:(BOOL)animated
{
[super setSelected:selected animated:animated];
}
但意识到这从未打过:
(ID)initWithStyle:(UITableViewCellStyle)风格 reuseIdentifier:(NSString *)reuseIdentifier
因为:
YesNoTableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
永远不会返回nil。
对此有什么建议吗?
答案 0 :(得分:0)
在实施
时,它永远不会返回单元格nilif (cell == nil){
cell = [[YesNoTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
reuseIdentifier:CellIdentifier];
}
所以只需删除此代码