标签文本为'nil',尽管分配了一些文本

时间:2017-02-02 05:35:33

标签: ios objective-c xcode label tableviewcell

我正在开发一款应用。我有一个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] '一些价值。屏幕截图显示了有关问题的确切图片, Clarification

请帮我解决这个问题......

2 个答案:

答案 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;
}