Как найти/удалить деталь CUSTOM строки UITableViewCell

Этот вопрос немного связан с моим предыдущим вопросом

Я новичок для приложения iPhone и пытаюсь узнать UITableView с помощью JSON . Я следил за это видео для обучения.

Я создал тот же пример, используя Stoaryboard, а также добавил новый экран, где я могу добавлять данные. Теперь я пытался удалить данные. Так что я думал, что это вместо метода ниже, я добавлю кнопку в каждую строку, и при нажатии на нее я удалю данные.

- (void) tableView: (UITableView *) tableView commitEditingStyle: (UITableViewCellEditingStyle) editStyle forRowAtIndexPath: (NSIndexPath *) indexPath

Но я не понимаю, как я получу детали строки и как удалить.

Любая помощь/предложение были бы благодарны.

Ниже показан мой экран.

enter image description here

Заметка:

UITableViewCell имеет тип CUSTOM.

2

5 ответы

Обновите модель данных в соответствии с действиями по удалению, используя следующий код.

Этот нижеописанный код является просто примером для горячего удаления или удаления объекта из массива, а также из таблицы. Для получения дополнительной информации проверьте руководство, в котором я размещаю ссылку ниже.

- (void)tableView:(UITableView *)aTableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {

     if (editingStyle == UITableViewCellEditingStyleDelete) {

         [arryData removeObjectAtIndex:indexPath.row];

        [tblSimpleTable reloadData];

     } 
}

или также используя эту логику ниже с пользовательской кнопкой ячейки ...

- (IBAction)deleteCustomCellWithUIButton:(id)sender
{
  NSIndexPath *indexPath = [yourTableView indexPathForCell:(UITableViewCell *)[[[sender superview] superview] superview]];
  NSUInteger row = [indexPath row];
  [yourTableView removeObjectAtIndex:row];
  [yourTableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath]  withRowAnimation:UITableViewRowAnimationFade];
}

Для получения дополнительной информации см. Этот учебник ...

  1. iphone-СДК-учебник-надстройка удалить-переназначения-UITableView-строку

  2. выбор нескольких строк и-редактирование в

2
добавлено
Я думаю, что Roland Keesom говорит, что мне нужно будет сделать ...
добавлено автор Fahim Parkar, источник
эй, вы можете взглянуть на мой новый вопрос
добавлено автор Fahim Parkar, источник
как я могу получить целочисленное значение из [[news objectAtIndex: indexPath.row] objectForKey: @ "id"] ?
добавлено автор Fahim Parkar, источник
Я извлекаю данные из живой базы данных. Поэтому я считаю, что это не сработает. Я считаю, что когда я нажимаю на строку 0, я должен получить идентификатор этой строки, чтобы я мог использовать этот идентификатор для удаления данных. Кроме того, для этого мне нужно будет установить тег при добавлении кнопки удаления. Исправьте меня, если я ошибаюсь ...
добавлено автор Fahim Parkar, источник
спасибо Paras .. Я проверю и вернусь к вам в случае любых запросов.
добавлено автор Fahim Parkar, источник
@FahimParkar здесь вам нужно просто удалить данные из сети, как вы удаляете данные из массива, а также вы можете реализовать логику с тегом, если вы используете настраиваемую кнопку для удаления raw .. также смотрите в edumobile.org/iphone/iphone-programming-tutorials/& hellip; эта ссылка надеюсь, что это полезно для вас, чувак .. :)
добавлено автор Paras Joshi, источник
[[[news objectAtIndex: indexPath.row] objectForKey: @ "id"] intValue]; попробуйте, если не получите, то отправьте комментарий
добавлено автор Paras Joshi, источник
@FahimParkar я обновляю свой ответ о том, как удалить raw и данные из пользовательской кнопки «Применить событие» чувак ... :)
добавлено автор Paras Joshi, источник
@FahimParkar эй здесь нет необходимости создавать для этого какой-то специальный код, здесь, например, говорит Роланд, здесь вы можете понять, как можно добавлять или удалять исходные данные во время выполнения, а также вы можете удалять данные из живого. Поместите здесь немного логики, и вы можете получить этого чувака.
добавлено автор Paras Joshi, источник
обязательно спросите меня, есть ли у вас какие-либо вопросы ..
добавлено автор Paras Joshi, источник

Обновите модель данных в соответствии с действиями по удалению, используя следующий код.

Этот нижеописанный код является просто примером для горячего удаления или удаления объекта из массива, а также из таблицы. Для получения дополнительной информации проверьте руководство, в котором я размещаю ссылку ниже.

- (void)tableView:(UITableView *)aTableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {

     if (editingStyle == UITableViewCellEditingStyleDelete) {

         [arryData removeObjectAtIndex:indexPath.row];

        [tblSimpleTable reloadData];

     } 
}

или также используя эту логику ниже с пользовательской кнопкой ячейки ...

- (IBAction)deleteCustomCellWithUIButton:(id)sender
{
  NSIndexPath *indexPath = [yourTableView indexPathForCell:(UITableViewCell *)[[[sender superview] superview] superview]];
  NSUInteger row = [indexPath row];
  [yourTableView removeObjectAtIndex:row];
  [yourTableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath]  withRowAnimation:UITableViewRowAnimationFade];
}

Для получения дополнительной информации см. Этот учебник ...

  1. iphone-СДК-учебник-надстройка удалить-переназначения-UITableView-строку

  2. выбор нескольких строк и-редактирование в

2
добавлено
эй, вы можете взглянуть на мой новый вопрос
добавлено автор Fahim Parkar, источник
как я могу получить целочисленное значение из [[news objectAtIndex: indexPath.row] objectForKey: @ "id"] ?
добавлено автор Fahim Parkar, источник
Я думаю, что Roland Keesom говорит, что мне нужно будет сделать ...
добавлено автор Fahim Parkar, источник
Я извлекаю данные из живой базы данных. Поэтому я считаю, что это не сработает. Я считаю, что когда я нажимаю на строку 0, я должен получить идентификатор этой строки, чтобы я мог использовать этот идентификатор для удаления данных. Кроме того, для этого мне нужно будет установить тег при добавлении кнопки удаления. Исправьте меня, если я ошибаюсь ...
добавлено автор Fahim Parkar, источник
спасибо Paras .. Я проверю и вернусь к вам в случае любых запросов.
добавлено автор Fahim Parkar, источник
[[[news objectAtIndex: indexPath.row] objectForKey: @ "id"] intValue]; попробуйте, если не получите, то отправьте комментарий
добавлено автор Paras Joshi, источник
@FahimParkar я обновляю свой ответ о том, как удалить raw и данные из пользовательской кнопки «Применить событие» чувак ... :)
добавлено автор Paras Joshi, источник
@FahimParkar здесь вам нужно просто удалить данные из сети, как вы удаляете данные из массива, а также вы можете реализовать логику с тегом, если вы используете настраиваемую кнопку для удаления raw .. также смотрите в edumobile.org/iphone/iphone-programming-tutorials/& hellip; эта ссылка надеюсь, что это полезно для вас, чувак .. :)
добавлено автор Paras Joshi, источник
@FahimParkar эй здесь нет необходимости создавать для этого какой-то специальный код, здесь, например, говорит Роланд, здесь вы можете понять, как можно добавлять или удалять исходные данные во время выполнения, а также вы можете удалять данные из живого. Поместите здесь немного логики, и вы можете получить этого чувака.
добавлено автор Paras Joshi, источник
обязательно спросите меня, есть ли у вас какие-либо вопросы ..
добавлено автор Paras Joshi, источник

You can add a button on each row and set the button.tag to the indexPath.row in the cellForRowAtIndex: method. Then in your button method you can delete the entry from the Array that is used to populate the UITableView and then reloadData

1
добавлено
можете ли вы предоставить мне ссылку для этого примера?
добавлено автор Fahim Parkar, источник
Хорошо, я понял, что вы хотели сказать, и я реализую то же самое. Спасибо за показ Пути :)
добавлено автор Fahim Parkar, источник
Добро пожаловать :) Если вам нравится ответ, пожалуйста, поддержите и примите, если он правильный, спасибо!
добавлено автор Roland Keesom, источник
Для этого нет ссылки, вы должны сами ее закодировать, сообщите мне, нужна ли вам дополнительная информация и что непонятно
добавлено автор Roland Keesom, источник

You can add a button on each row and set the button.tag to the indexPath.row in the cellForRowAtIndex: method. Then in your button method you can delete the entry from the Array that is used to populate the UITableView and then reloadData

1
добавлено
можете ли вы предоставить мне ссылку для этого примера?
добавлено автор Fahim Parkar, источник
Хорошо, я понял, что вы хотели сказать, и я реализую то же самое. Спасибо за показ Пути :)
добавлено автор Fahim Parkar, источник
Для этого нет ссылки, вы должны сами ее закодировать, сообщите мне, нужна ли вам дополнительная информация и что непонятно
добавлено автор Roland Keesom, источник
Добро пожаловать :) Если вам нравится ответ, пожалуйста, поддержите и примите, если он правильный, спасибо!
добавлено автор Roland Keesom, источник

У вас есть много способов получить ячейку или индексную ячейку ячейки:

  • (UITableViewCell *) cellForRowAtIndexPath: (NSIndexPath *) indexPath
  • (NSIndexPath *) indexPathForCell: (UITableViewCell *) cell
  • (NSIndexPath *) indexPathForRowAtPoint: (CGPoint) point
  • (NSArray *) indexPathsForRowsInRect: (CGRect) rect
  • (NSArray *) visibleCells
  • (NSArray *) indexPathsForVisibleRows

Если вы хотите передать IBAction UIButton, используйте indexPathForRowAtPoint следующим образом:

-(IBAction)myAction:(id)sender
{

CGPoint location            = [sender convertPoint:CGPointZero toView:self.tableView];
NSIndexPath *indexPath      = [self.tableView indexPathForRowAtPoint:location];
UITableViewCell *swipeCell  = [self.tableView cellForRowAtIndexPath:indexPath];

NSLog(@"Selected row: %d", indexPath.row);
//......

}

ИЛИ indexPathForCell

- (void)buttonPressedAction:(id)sender
{
   UIButton *button = (UIButton *)sender;
  //Get the UITableViewCell which is the superview of the UITableViewCellContentView which is the superview of the UIButton
   (UITableViewCell*)cell = [[button superview] superview];
   int row = [myTable indexPathForCell:cell].row;
}

I have taken code from : Detecting which UIButton was pressed in a UITableView

Пользовательское действие кнопки UITableViewCell?

0
добавлено
Mobile Dev Jobs — вакансии и аналитика
Mobile Dev Jobs — вакансии и аналитика
6 187 участник(ов)

Публикуем вакансии и запросы на поиск работы по направлению iOS, Android, Xamarin и т.д. ВАЖНО: Правила публикации и правила канала: Ссылка – https://telegra.ph/Pravila-oformleniya-vakansij-i-rezyume-11-09-2

iOS Developers — русскоговорящее сообщество
iOS Developers — русскоговорящее сообщество
2 400 участник(ов)

Общаемся на темы, посвященным iOS-разработке, Swift, Objective-C, SDK, Rx, Cocoa и т.д.