2014-02-14 43 views
0

uitableview單元重用細胞......但我不希望重用細胞。 tableView正在滾動單元格中的文本被刪除。 所以我想創建didloadview中的所有單元格。 如何寫這個代碼?? !!如何禁用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

只是不要使用出隊方法,而是手動初始化單元格。但我很確定你真的不想這樣做!如果你能解釋爲什麼你想要這個,我們可以給你解決你真正遇到的問題。 – 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

如果你有大量的細胞來顯示和設置單元格時,使用了太多的內存,就會造成內存開銷。爲了避免這個蘋果使用可重複使用的細胞。

如果您確定需要靜態分配的單元格,則創建單元格並將其保存在數組中,然後在相應的索引處返回單元格(不建議使用此方法)。

相關問題