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

Я разрабатываю приложение 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 

One Solution collect form web for “Как применять контрольные метки в ячейке просмотра таблицы”

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

  • Ошибка после обновления до xcode 4.6 и iOS 6.1 "используется как имя предыдущего параметра, а не как часть селектора"
  • «Файл GooglePlus / GooglePlus.h не найден» при попытке создать мой проект
  • Xcode 5 Ошибка «Отсутствует ошибка компилятора LLVM 4.2»
  • Ошибка com.apple.InterfaceBuilder -1. Раскадровка не может быть открыта
  • Ошибка Xcode 4.6.1, когда я пытаюсь добавить свое устройство в портал инициализации.
  • Аргумент шаблона не-типа оценивается как -1, который не может быть сужен, чтобы ввести «unsigned long long» xcode 4.6
  • Как получить созданный Storyboard UIViewController без использования локалей в UIPopover?
  • Xcode 4 не позволит мне открыть раскадровку, отредактированную в Xcode 5
  • ; не работает
  • Ошибка компиляции Xcode 4.6 zXing после обновления Xcode (4H127)
  • Xcode 4.6 автоматическое право не работает - «нет действительной aps-environment»
  • PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.