Ios 更换电池附件类型?

Ios 更换电池附件类型?,ios,objective-c,cocoa-touch,Ios,Objective C,Cocoa Touch,我有一个名为allone.h的表格视图,其中的单元格都是带有披露指示符的字幕样式的单元格。 字幕文本是动态生成的,所以很可能每个单元格都有不同的字幕文本 我有一个if语句,它说如果text=“hello,world”,则将附件类型更改为detaildispositionindicator。按下detaildiscoverageindicator时,它会推送一个新的控制器,更改字幕文本,然后弹出该视图控制器并返回到allone.h。问题是,如果文本!=“你好,世界”。我尝试在视图中更改样式,但我没

我有一个名为
allone.h
的表格视图,其中的单元格都是带有披露指示符的字幕样式的单元格。
字幕文本是动态生成的,所以很可能每个单元格都有不同的字幕文本

我有一个if语句,它说如果text=“hello,world”,则将附件类型更改为
detaildispositionindicator
。按下
detaildiscoverageindicator
时,它会推送一个新的控制器,更改字幕文本,然后弹出该视图控制器并返回到
allone.h
。问题是,如果文本!=“你好,世界”。我尝试在
视图中更改样式,但我没有访问单元格的权限

这是我的密码

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
//populate cells with stuff

    if([cell.detailTextLabel.text isEqualToString:@"hello, world"]){
       cell.accessoryType = UITableViewCellAccessoryDetailDisclosureButton;
    }
}

因此,我想我的问题是,当我返回到
allone.h
并且单元格的文本不再是“hello,world”时,如何更改附件类型?

您可以在-[UITableView cellForRowAtIndexPath:]中执行此操作。就像if语句中的“else”一样


要重新加载单元格,只需调用reloadData或reloadRowsAtIndexPaths:withRowAnimation:。

我认为cell.detailTextLable等于零。所以手机配件没有改变。请再核对一下。您以前配置过单元格吗?

是否尝试重新加载UITableView?您不需要重新加载所有UITableView,只需加载您要更改的单元格。@rocir:我不确定您所说的只需更改单元格是什么意思,但每当“allone.h”出现视图时,tableview都会重新加载。仍然在最初包含文本“hello,world”的单元格上显示detaildisclosureindicator。我只是不确定使用哪种方法来放置新的附件类型。您可以在-[UITableView cellForRowAtIndexPath:]中执行此操作。就像if语句中的“else”一样。要重新加载单元格,只需调用reloadData或reloadRowsAtIndexPaths:withRowAnimation:。在if语句中检查detailTextLabel之前,是否确保更改了该标签?您必须具有用于填充字幕的数组。您还需要替换数组中该位置的文本。因此,当Tableview下次重新加载时,它会获取更改后的文本。@rocir:这就像添加else语句一样简单。如果你回答这个问题,我会接受你的回答。