私はコアデータとNSFetched結果コントローラーが初めてです。これまでのところ、tableView を埋めることができました。しかし今、私はセクションに分けたいと思っています。私のコードは次のようになります。
- (void)getKeepers // attaches an NSFetchRequest to this UITableViewController
{
NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"Team"];
request.sortDescriptors = [NSArray arrayWithObject:[NSSortDescriptor sortDescriptorWithKey:@"sortOrder" ascending:YES]];
self.fetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:request
managedObjectContext:self.genkDatabase.managedObjectContext
sectionNameKeyPath:nil
cacheName:nil];
}
状況をスケッチしましょう。サッカークラブのアプリを作っています。私のテーブルビューでは、すべてのポジション (ゴールキーパー、ディフェンダー、ウィンガー、アタッカー) に新しいセクションが必要です。私のコア データベースは次のようになります。
- TEAM
-name
-Position
-img_url
-birthDate
-sortOrder
プレイヤーを並べ替えるために属性 sortOrder を追加しました。しかし、それをセクションに分割するのを手伝ってくれる人はいますか?
前もって感謝します !!
私のCELL_FOR_ROW_AT_INDEX で私がしていること私のcellForRowAtIndexでは、私は通常のことをしていません。6 つのイメージビューを含むカスタム tableviewCell を使用しています。ただし、行に 4 つの画像しか含まれていない可能性があります。ここで私がやろうとしていることを見ることができます。
#define IMAGES_PER_ROW 6
NSInteger frcRow = indexPath.row * IMAGES_PER_ROW; // row in fetched results controller
for (int col = 1; col <= IMAGES_PER_ROW; col++) {
NSIndexPath *path = [NSIndexPath indexPathForRow:frcRow inSection:0];
Team *team = [self.fetchedResultsController objectAtIndexPath:path];
NSData *imgData = [[NSData alloc] initWithContentsOfURL:[NSURL URLWithString:team.image]];
UIImage *image;
if (imgData == nil) {
// default image
image = [UIImage imageWithContentsOfFile:@"keeperNil.jpg"];
} else {
image = [UIImage imageWithData:imgData];
}
[cell setImage:image forPosition:col];
frcRow ++;
}