Tableview, Sections, Rows и coreData — строки отображаются несколько (дубликаты)

я сохраняю данные в 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


person brush51    schedule 22.09.2011    source источник


Ответы (1)


гм..

проверять:

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

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

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

  • (UITableViewCell *) tableView: (UITableView *) tableView cellForRowAtIndexPath: (NSIndexPath *) indexPath {
person divol    schedule 22.09.2011