2014-02-14 11 views
0

uitableview cell повторно использует ячейки ... но я не хочу повторно использовать ячейки. tableView прокручивает, что текст в ячейке удаляется. , поэтому я хочу создать все ячейки в doloadview. Как написать этот код ?? !!Как отключить dequeueReusableCell, чтобы весь вид просмотра tableviewCell был загружен?

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ 
//test 
setting_detail_cell *customCell = (setting_detail_cell*)[tableView cellForRowAtIndexPath:indexPath];*** 

NSString *keyword1 = [[customCell Key1] text]; 
// 
setting_cell=[tableView dequeueReusableCellWithIdentifier:CellTableIdentifier]; 

rowData = self.PPT_Setting[indexPath.row]; 
[setting_cell setNumber:rowData[@"page_num"]]; 
    @try { 
     rowData_keyword =self.Keyword_list[indexPath.row]; 
     setting_cell.Key1.text = rowData_keyword[@"key1"]; 
     setting_cell.Key2.text = rowData_keyword[@"key2"]; 
     setting_cell.Key3.text = rowData_keyword[@"key3"]; 
     NSLog(@"index1 : %d",indexPath.row);; 
     NSLog(@"cell : %@",setting_cell); 

     if ([rowData_keyword[@"key1"] isEqualToString:@"(null)"] == YES) { 
      setting_cell.Key1.text = @" "; 
     } 
     if ([rowData_keyword[@"key2"] isEqualToString:@"(null)"] == YES) { 
      setting_cell.Key2.text = @" "; 
     } 
     if ([rowData_keyword[@"key3"] isEqualToString:@"(null)"] == YES) { 
      setting_cell.Key3.text = @" "; 
     } 
    }@catch (NSException *exception) { 
     NSLog(@"%@",exception); 
    } 

return setting_cell; 
} 
+0

Удалите код 'dequeueReusableCellWithIdentifier' и всегда выделяйте ячейки init. –

+0

Это делает смысл ?! Вы можете делать все, что хотите, с повторным использованием ячеек. – Injectios

+1

Просто не используйте метод dequeue и вместо этого инициализируйте ячейки вручную. Но я уверен, что вы действительно не хотите этого делать! Если вы можете объяснить, ПОЧЕМУ вы этого хотите, мы, вероятно, можем дать вам решение проблемы, которую вы действительно имеете. – Moonwalkr

ответ

0

найти камеру повторно использовать или нет. потому что ваша ячейка кода не используется повторно.

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath (NSIndexPath*)indexPath 
{ 
    static NSString *cellIdentifier = @"Cell"; 
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier forIndexPath:indexPath]; 

    if (!cell) 
     cell = [[UITableViewCell alloc] initWithStyle:yourStyle reuseIdentifier: cellIdentifier]; 

    return cell; 
} 

для уникальной идентификации использования

UITableViewCellAccessoryCheckmark типа

0

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

Если вы уверены, что хотите статически выделенные ячейки, тогда создайте ячейки и сохраните их в массиве, а затем верните ячейку в соответствующий индекс (этот метод не рекомендуется).