Как применять контрольные метки в ячейке просмотра таблицы

Я разрабатываю приложение iOS, используя Xcode 4.6 для кода в Objective-C. Я хочу знать, как поставить на выбранную ячейку просмотра таблицы галочку, а затем получить доступ к тем ячейкам, которые уже отмечены для их повторного использования, например, сохраняя их в массиве. Вот мой класс кода таблицы, чтобы вы могли видеть:

#import "TablaMateriasViewController2.h" @interface TablaMateriasViewController2 () @end @implementation TablaMateriasViewController2 @synthesize materias,materiasKeys; NSMutableArray *Materias; - (id)initWithStyle:(UITableViewStyle)style { self = [super initWithStyle:style]; if (self) { // Custom initialization } return self; } - (void)viewDidLoad { [super viewDidLoad]; Materias = [[NSMutableArray alloc]init ]; Materia *mat = [[Materia alloc]init]; [mat setNombre:@"Matematicas I"]; [mat setCodigo:@"FBTMI01"]; [mat setGradoDificultad:3]; [mat setDescripcion:@"..."]; [Materias addObject:mat]; mat = [[Materia alloc]init]; [mat setNombre:@"Matematicas II"]; [mat setCodigo:@"FBTMI02"]; [mat setGradoDificultad:4]; [mat setDescripcion:@"......"]; [Materias addObject:mat]; mat = [[Materia alloc]init]; [mat setNombre:@"Fisica I"]; [mat setCodigo:@"FBTFI01"]; [mat setGradoDificultad:2]; [mat setDescripcion:@".."]; [Materias addObject:mat]; mat = [[Materia alloc]init]; [mat setNombre:@"Fisica II"]; [mat setCodigo:@"FBTFI02"]; [mat setGradoDificultad:4]; [mat setDescripcion:@"!!!!"]; [Materias addObject:mat]; mat = [[Materia alloc]init]; [mat setNombre:@"Fiscia III"]; [mat setCodigo:@"FBTFI03"]; [mat setGradoDificultad:5]; [mat setDescripcion:@"---"]; [Materias addObject:mat]; mat = [[Materia alloc]init]; [mat setNombre:@"Estructura de Datos"]; [mat setCodigo:@"BPTPR12"]; [mat setGradoDificultad:4]; [mat setDescripcion:@"Orientacion a objetos"]; [Materias addObject:mat]; mat = [[Materia alloc]init]; [mat setNombre:@"Algoritmos y Programacion"]; [mat setCodigo:@"BPTPR11"]; [mat setGradoDificultad:3]; [mat setDescripcion:@"estructurada"]; [Materias addObject:mat]; mat = [[Materia alloc]init]; [mat setNombre:@"Matematicas III"]; [mat setCodigo:@"FBTMI03"]; [mat setGradoDificultad:3]; [mat setDescripcion:@"Mate 3"]; [Materias addObject:mat]; } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; } #pragma mark - Table view data source - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { return 1; } - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { return Materias.count; } - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *CellIdentifier = @"MateriaCell"; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath]; Materia *current = [Materias objectAtIndex:indexPath.row]; [cell.textLabel setText:current.Nombre]; return cell; } #pragma mark - Table view delegate - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { } @end 

Если вы хотите отслеживать несколько флажков, было бы проще добавить свойство к вашему объекту Materia, который является BOOL, например isChecked или что-то в этом роде. В методе cellForRowAtIndexPath вы бы проверили состояние BOOL и добавили галочку, если ее YES, а не если это НЕТ. Вы не должны сохранять ячейки в массиве, ваш массив источников данных, Materias, будет иметь запись о том, какие ячейки выбраны, и вы можете использовать это для любой цели. Вы должны обновить значение этого BOOL в методе didSelectRowAtIndexPath.

  • Как получить созданный Storyboard UIViewController без использования локалей в UIPopover?
  • Где установить переменные среды для приложения?
  • ; не работает
  • Xcode 4.6 Предупреждение ARC для аутентификации Game Center
  • Изменение размера кнопки в iOS программно
  • XCode: 4.6 Lion: 10.8 IOS 6.1 ошибка: SBTarget недействителен
  • Правильная реализация UISearchDisplayController
  • Аргумент шаблона не-типа оценивается как -1, который не может быть сужен, чтобы ввести «unsigned long long» xcode 4.6
  • Как запустить поток в фоновом режиме приложения, который не повлияет на пользовательский интерфейс приложения
  • UIScrollView не будет работать
  • Модальный переход, навигационная панель исчезает
  • Interesting Posts

    Мерцание UIRefreshControl в iOS7

    Соединение IBOutlets, переменная, свойство или и то, и другое?

    Swift – итерация по символам в строке вызывает утечку памяти

    Изменение значения в прокрутке UITableView

    Как изменить неактивный значок / текст на панели вкладок?

    signInSilently () генерирует код ошибки = -4

    Выбор рамок тестирования iOS

    SQlite Cipher IOS

    Миграция области не работает

    Как создать нелокализованный ресурс в комплекте приложений iOS

    Как создать UIScrollView с разными размерами страниц (привязка страниц, отскок)

    Ресурсы приложений недоступны при тестировании пользовательского интерфейса в Xcode 7

    Как правильно читать декодированные образцы PCM на iOS, используя AVAssetReader – в настоящее время некорректное декодирование

    В то время как процесс отправки почты с использованием симуляторов ios 8 генерирует ошибку

    Как установить цель и действие для UIBarButtonItem во время выполнения

    Давайте будем гением компьютера.