首先我知道还有几个标题看起来一样。我检查了它们,但我问的是一个特定的问题。
我想做什么:创建的登录表,其中包含电子邮件和密码。 UITeView中的UITextfields。只是想将这些数据带入一些NSString变量指针以进行进一步处理。
我有一个名为CustomCell的Custom Cell Class,如下所示:
#import "CustomCell.h"
#import "QuartzCore/QuartzCore.h"
@implementation CustomCell
@synthesize textfield;
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (self) {
textfield = [[UITextField alloc] initWithFrame:CGRectMake(5, 7, 160, 20)];
textfield.textColor = [UIColor blackColor];
textfield.font = [UIFont systemFontOfSize:14];
[self.contentView addSubview:textfield];
}
return self;
}
- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
[super setSelected:NO animated:NO];
// Configure the view for the selected state.
}
- (void)dealloc {
[super dealloc];
}
@end
我有ViewController,我使用下面的自定义表,你可能会看到我的tableView cellForRowAtIndex方法。
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
static NSString *CellIdentifier = @"Cell";
[tableView.layer setCornerRadius:10.0];
CustomCell *cell = (CustomCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[CustomCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];}
switch (indexPath.row) {
case 0:
cell.textfield.placeholder = @"Email";
break;
case 1:
cell.textfield.placeholder = @"Password";
cell.textfield.tag = 0;
break;
}
return cell;
}
最后,在同一课程下面,我正在尝试阅读电子邮件&密码
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:1 inSection:0];
CustomCell *cell = [tableView cellForRowAtIndexPath:indexPath]; // ERROR!!!
NSString *userpassword = cell.textfield.text;
错误:未知接收器类型tableView:
注意同一行:
未找到ClassMethod + cellforrowatindexpath返回类型默认为id。
你看到我做错了吗?
答案 0 :(得分:3)
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:1 inSection:0];
CustomCell *cell = (CustomCell *)[tableView cellForRowAtIndexPath:indexPath]; // Add This instead
NSString *userpassword = cell.textfield.text;
答案 1 :(得分:0)
您的ViewController是继承UIView还是UITableViewController?这假设您在与表视图相同的控制器上调用tableView。
答案 2 :(得分:0)
Yu不能在数据源外部使用tableView并委托方法。您的界面定义中的tableview名称是什么?使用那个。