#ios
#iOS
Вопрос:
Я хочу проверить больше ячеек одним щелчком мыши (прикосновением).
В этом коде я пытаюсь сделать то, что я сказал bat … У меня какая-то проблема
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
NSString *riga;
int esci=0;
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
NSDictionary *itemAtIndex = (NSDictionary *)[listad objectAtIndex:indexPath.row];
riga=[itemAtIndex objectForKey:@"riga"];
for (int i=0; i<[righeS count]; i ) {
if ([righeS objectAtIndex:i] ==riga) {
cell.accessoryType=UITableViewCellAccessoryNone;
//[tableView deselectRowAtIndexPath:indexPath animated:YES];
[righeS removeObjectAtIndex:i];
esci=1;
}
}
if (esci==0) {
[righeS addObject:riga];
cell.accessoryType = UITableViewCellAccessoryCheckmark;
//Check if value of qty of the next row is 0
bool trovato=FALSE;
for (int g =0 ;g <[listad count];g ){
NSDictionary *rigaScan=(NSDictionary*)[listad objectAtIndex:g];
if (trovato==TRUE) {
if ([[rigaScan objectForKey:@"qty"] isEqualToString: @"0"]){
NSString *rig;
rig=[rigaScan objectForKey:@"riga"];
[righeS addObject:rig];
cell.accessoryType=UITableViewCellAccessoryCheckmark;
}else{
break;
}
}
if ([rigaScan objectForKey:@"riga"]==riga){
trovato=TRUE;
}
[rigaScan release];
}
//Fine controllo
}
}
В этом случае я пытаюсь, когда пользователь касается ячейки, посмотреть, равно ли какое-либо значение следующей ячейки 0.
Если значение равно 0, я должен также проверить следующую ячейку и другое значение в итерации for.
Когда следующее значение равно ! = 0, я ставлю break.
Я считаю, что логический код правильный, но, возможно, не синтаксис для cocoa.
Комментарии:
1. Просто позвольте мне прояснить одну вещь: по сути, вы хотите, чтобы было проверено несколько ячеек?
2. да, я выбираю одну, и если рядом с другим установлено какое-то поле 0, тогда
3. Итак, вы выбираете одну и проверяете, есть ли в остальных ячейках определенное поле со значением 0, если ДА, то выберите его тоже?
4. @mrhawk да, это так, отлично!!! остальные следующие строки!!
Ответ №1:
Попробуйте этот замечательный пост от Cocoa с любовью — выбор и редактирование нескольких строк в UITableView
Комментарии:
1. спасибо Srikar за ваш ответ, фактически я загружаю исходный код этой ссылки, которую я только что сделал. Моя проблема в другом, когда пользователь проверяет одну строку или ячейку, если следующие строки, например, имеют значение 0, они также автоматически проверяются.
2. ну, я так и знал! ЭТО не точное решение, но вы можете настроить его в соответствии с вашими потребностями. Дайте мне знать, если потребуется дополнительная помощь..
3. мне пока нужна помощь, потому что я не получил решения своей проблемы. я повторяю здесь то, что я хочу. если у меня есть шесть строк в tableview, если я нажму 4 строки сейчас, чтобы проверить строку, мне нужно также проверить строки 5 и 6, потому что они имеют значение, например, 0. после этой последней проверки 5 и 6 строк приложение выполняется автоматически, пользователь не может проверить строки 5 и 6.ок?