Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 无法再次设置UITablevIewCell文本标签文本_Ios_Objective C - Fatal编程技术网

Ios 无法再次设置UITablevIewCell文本标签文本

Ios 无法再次设置UITablevIewCell文本标签文本,ios,objective-c,Ios,Objective C,前面:我是一个傻瓜 我有一个方法可以在UITableViewCell中设置textLabel对象上的文本。相关的代码片段是: NSLog(@"BEFORE .textLabel.text: %@", _addWarmupActivityTableViewCell.textLabel.text); NSLog(@"BEFORE activity.name: %@", theSelectedActivityToDisplayAndSave.name); _addWarmupActivityTable

前面:我是一个傻瓜

我有一个方法可以在UITableViewCell中设置textLabel对象上的文本。相关的代码片段是:

NSLog(@"BEFORE .textLabel.text: %@", _addWarmupActivityTableViewCell.textLabel.text);
NSLog(@"BEFORE activity.name: %@", theSelectedActivityToDisplayAndSave.name);
_addWarmupActivityTableViewCell.textLabel.text = theSelectedActivityToDisplayAndSave.name;
NSLog(@"AFTER .textLabel.text: %@", _addWarmupActivityTableViewCell.textLabel.text);
第一次设置它时,它就工作了。通过此日志记录,您可以看到:

[12231:c07] BEFORE .textLabel.text: (null)
[12231:c07] BEFORE activity.name: Animal Movements
[12231:c07] AFTER .textLabel.text: Animal Movements
然后,在以后调用它时,它将返回null,如以下日志所示:

[12231:c07] BEFORE .textLabel.text: (null)
[12231:c07] BEFORE activity.name: Animal Movements
[12231:c07] AFTER .textLabel.text: (null)
我必须承认我有点难堪。我在其他帖子中读到,只要修改textLabel,就会创建一个新的UILabel对象。然而,对我来说,这仍然不能解释为什么在我尝试设置它之后它是(空)一行

任何指向正确方向的指示都将不胜感激


干杯。

您没有显示分配/出列单元格的代码,因此很难说——我假设您是在列出之前的某个位置分配它

你会得到这样的东西:

- (UITableViewCell *)tableView:(UITableView *)tv cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell"];
    if (!cell)
    {
        cell = [[UITableViewCell alloc] initWithStyle: UITableViewCellStyleDefault reuseIdentifier:@"cell"];
    }
    cell.textLabel.text = theSelectedActivityToDisplayAndSave.name; // wherever you get this from
    return cell;
}
这看起来和你使用的方法相似吗


我想我要看的是单元格是否被正确分配。

您是否尝试设置断点以查看_addWarmupActivityTableViewCell和_addWarmupActivityTableViewCell.textLabel是否两次都正常?确保您没有在分配单元格的块内设置标签-只调用一次,如果使用可重用单元系统。什么是
\u addWarmupActivityTableViewCell
,您在哪里分配它?\u addWarmupActivityTableViewCell是一个IBoutlet,它实际上没有得到分配,因为它是一个“静态”表。即使它是一个静态表,也需要这样做。@brizrobbo很抱歉打电话给你,但我面临着同样的问题。你是否可以发布对你有用的答案。我应该提到它是一个静态表。就我的理解而言,CellForRowatineXpath不适用于静态表。我错了吗?谢谢。这使我走上了正确的方向。在我缺乏经验的情况下,我做出了一些不一定正确的假设。无论如何,我重新编译了类的datasource组件,并实现了CellForRowatineXpath。它现在正按预期工作。