Tableview, Sections, Rows и coreData - строки отображаются несколько раз (дубликаты) - PullRequest
0 голосов
/ 22 сентября 2011

Я сохраняю данные в coreData, чтобы показать их в таблице.У меня есть 3 сущности:

EntitySet <------ >> EntityRow <------ >> EntityDetails
(ко многим отношениям)

При чтении и отображении данных в таблице, разделах и строках все работает нормально.Но проблема в том, что ВСЕ данные из EntityRow отображаются во ВСЕХ разделах, но я хочу отображать ТОЛЬКО те строки, которые принадлежат разделу X.

Что здесь может быть не так? Не знаюзнать, как решить эту проблему.В моем tableView: cellForRowAtIndexPath: метод это выглядит так:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {  

static NSString *CellIdentifier = @"Cell";  

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];  
if (cell == nil) {  
    cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];  
}  

EntityRows *rows = [_rowsX objectAtIndex:indexPath.row];  

cell.textLabel.text = rows.title;  

return cell;  
}  

Или может быть моя ошибка в coreData?Неправильные отношения?

Спасибо за любую помощь, brush51

1 Ответ

1 голос
/ 22 сентября 2011

кхм ..

проверить:

  • (NSInteger) numberOfSectionsInTableView: (UITableView *) tableView;

  • (NSInteger) tableView: (UITableView *) tableView numberOfRowsInSection: (NSInteger) раздел;

если у вас более одного раздела, вы должны использовать indexPath.section, а также indexPath.row в вашем

  • (UITableViewCell *) tableView: (UITableView *) tableView cellForRowAtIndexPath: (NSIndexPath *) indexPath {
...