Intereting Posts
Пользовательский вид компоновки iOS Layout создает с xib при изменении размера Как получить данные из нескольких таблиц с использованием данных ядра в Swift.? Я хочу получить доступ к var во втором контроллере представления в быстром коде Внедрение Google Custom Search Другое, чем через UIWebView Пользовательский обратно UIBarButton с тем же названием, что и оригинал? Невозможно выделить ошибку памяти с помощью GCDAsyncSocket Создайте и используйте Enum в Objective-C NSDateFormatter stringFromDate возвращает nil при использовании 12-часового формата времени Ограничение расширения массива на определенный тип массива? Обнаруживать, когда приложение заканчивает загрузку после открытия с фона Приложение iPhone сбой при запуске на некоторых устройствах (не все) UIPickerView не показывает добавленный subview в UIView iOS Swift: получение повторяющегося значения при обновлении 2D-массива в пользовательской ячейке UITableView iOS: SDK iOS7 и XCode 4.6.3 Как я могу запустить мой таймер в фоновом режиме, а затем отправить локальное уведомление?

Сбой просмотра таблицы при нажатии на ячейку TableView

Когда я нажимаю на ячейку, я получаю сбой (приложение закрывается в iOS-симуляторе). Код ошибки:

"EXC_BAD_ACCESS (код = 1, адрес = 0x310cc493)

Вот код:

// .h #import <UIKit/UIKit.h> @interface ChecklistsViewController : UITableViewController @end // .m #import "ChecklistsViewController.h" @interface ChecklistsViewController () @end @implementation ChecklistsViewController - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. } - (void)viewDidUnload { [super viewDidUnload]; // Release any retained subviews of the main view. } - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { return (interfaceOrientation == UIInterfaceOrientationPortrait); } - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { return 100; } - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"ChecklistItem"]; UILabel *label = (UILabel *)[cell viewWithTag:1000]; if (indexPath.row % 5 == 0) { label.text = @"Walk the dog"; } else if (indexPath.row % 5 == 1) { label.text = @"Brush my teeth"; } else if (indexPath.row % 5 == 2) { label.text = @"Learn iOS development"; } else if (indexPath.row % 5 == 3) { label.text = @"Soccer practice"; } else if (indexPath.row % 5 == 4) label.text = @"Eat ice cream"; return cell; } - tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { [tableView deselectRowAtIndexPath:indexPath animated:YES]; } // Control reaches end of non-function @end 

В вашем примере вы не выделяете UITableViewCell если ни один из них не был удален. Вам нужно сделать что-то вроде этого:

 UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"ChecklistItem"]; if( cell == nil ) { cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:@"ChecklistItem"] autorelease]; // whatever additional initialization ... } 
 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ static NSString *CellIdentifier = @"Cell"; UItableViewCell *cell = (UITableViewCell *) [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; if (cell == nil) { cell = [[UItableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier]; } //write your code here return cell; } 

Вы должны выделить UITableViewCell в tableView: cellForRowAtIndexPath:

Ваш метод должен выглядеть следующим образом:

 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ static NSString *CellIdentifier = @"Cell"; UItableViewCell *cell = (UITableViewCell *) [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; if (cell == nil) { cell = [[UItableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier]; } //INSERT YOUR CODE }