В вашем
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
selectedIndex = indexPath //selectedIndex is a property
}
Затем в
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
//usual cell stuff
if(indexPath == selectedIndex)
[cell setAccessoryType:UITableViewCellAccessoryDisclosureIndicator];
else
[cell setAccessoryType:UITableViewCellAccessoryDetailDisclosureButton];
}
Таким образом, хитрость заключается в том, чтобы просто сохранить ссылку на выбранную ячейку и соответственно установить индикатор.
Обратите внимание, что перед установкой selectedIndex может потребоваться проверить, выбрана ли уже ячейка, в этом случае следует установить selectedIndex = nil.