我的UITextField
内部UITableViewCell
知道我的UITableView
包含3行,并且我区分了每个UITextField
这样的新标记:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
...
cell.myTextField.tag = indexPath.row;
...
}
众所周知,还有一个名为' getByTag'的函数,它被称为必须捕获标签等于2的UITextField中的现有文本,所以我尝试了这个:
-(void)getByTag{
NSLog(@"Text is -> %@",cell.myTextField.tag[2].text);
}
代码myTextField.tag[2]
没有按预期工作,因为我认为这意味着选择不能很好地工作并给我一个编译器错误。有人可以帮我解决一下如何绕过这个错误编译并让我的程序选择我的UITextField中的标签等于2的现有文本吗?
答案 0 :(得分:2)
试试这个:
-(void)getByTag:(NSInteger)myTag {
NSMutableArray *cells = [[NSMutableArray alloc] init];
for (NSInteger j = 0; j < [self.tableView numberOfSections]; ++j)
{
for (NSInteger i = 0; i < [self.tableView numberOfRowsInSection:j]; ++i)
{
[cells addObject:[self.tableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:i inSection:j]]];
}
}
for (MyCustomTableViewCell *cell in cells)
{
if (cell.myTextView.tag == tag) {
NSLog(@"Text is -> %@", cell.myTextField.text);
}
}
}
并通过以下方式调用:
[self getByTag:2];