我正在开发一款应用。我有一个tableview。我为 TableView Cell 设置了一个名为“ cellTable ”的单独类。我通过导入单元格的.h文件在另一个名为“ resultViewController ”的类中使用此类。我宣布了,
cellTable *cellElement;
'resultViewControler.h'中的。我尝试使用
更改' resultViewController '中' cellTable '中声明的标签cellElement.resultname.text = testNamesA[indexPath.row];
对于' cellElement.resultname.text ',我得到' nil ',尽管' testNamesA [indexPath.row] '一些价值。屏幕截图显示了有关问题的确切图片,
请帮我解决这个问题......
答案 0 :(得分:1)
您正在cellForRowAtIndexPath方法中设置单元格的属性,因此不在
中 cellElement.resultname.text = testNamesA[indexPath.row];
它是
cell.resultname.text = testNamesA[indexPath.row];
例如
#import "yourTableViewCell.h"
现在将tableView:cellForRowAtIndexPath更改为
- (UITableViewCell *)tableView:(UITableView *)tableViewcellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *cellIdentifier = @"Cell";
yourTableViewCell *cell = (SimpleTableCell *)[tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];
cell.resultname.text = testNamesA[indexPath.row];
return cell;
}
例如,您可以转到here。
答案 1 :(得分:0)
根据您的问题我理解的是您创建了单独的UItableViewCell并在ViewController中导入了该单元格。但是您不知道如何在表视图委托方法中调用和使用该自定义单元格。
我现在告诉你。一旦导入自定义单元格,你需要在cellForRowAtIndexPath方法中调用下面的代码行。
如果您使用xib创建cellTable
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
cellTable *cellElement = (cellTable *)[tableView dequeueReusableCellWithIdentifier:@"cell"];
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"cellTable" owner:self options:nil];
if(cellElement == nil){
cellElement = nib[0];
}
cellElement.resultname.text = testNamesA[indexPath.row];
return cellElement;
}