Я беру список объектов с сервера, и у них есть дата как свойство. Элементы для велоспорта, которые я получил, мне нужно расположить их в таблице, но поделенные на дни (по разделам).Группировка объектов по дате
У меня проблемы, потому что я смог бы исправить все в цикле.
Что я делаю, используя NSDateFormatteris, создайте массив с количеством разделов. Но логически я не знаю, как создать все внутри цикла.
NSMutableArray *singleSectionArray = [[NSMutableArray alloc] init];
NSMutableArray *sectionsArray = [[NSMutableArray alloc] init];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
if (!error) {
int i = 0;
NSDateFormatter *df = [[NSDateFormatter alloc] init];
for (PFObject *object in objects) {
[df setDateFormat:@"MMMM d EEEE"];
NSString *dateString = [[NSString alloc] initWithFormat:@"%@",[df stringFromDate:object.createdAt]];
NSArray *dateArray = [dateString componentsSeparatedByString:@" "];
BOOL sectionExist = [sectionsArray containsObject:[dateArray objectAtIndex:1]];
if (sectionExist == 0) {
[sectionsArray addObject:[dateArray objectAtIndex:1]];
[singleSectionArray addObject:[NSDictionary dictionaryWithObjectsAndKeys:
object.createdAt,@"date",
object.objectId,@"objectId",
nil]];
} else {
//???
}
}
...
[self.tableView reloadData];
Я бы такую структуру
//Section
NSArray *singleSectionArray = [[NSArray alloc] initWithObjects:@"Object 1", @"Object 2", @"Object 3", nil];
NSDictionary * singleSectionDictionary = [NSDictionary dictionaryWithObject: singleSectionArray forKey:@"data"];
[dataArray singleSectionDictionary];
//Section
NSArray *singleSectionArray = [[NSArray alloc] initWithObjects:@"Object 4", @"Object 5", nil];
NSDictionary * singleSectionDictionary = [NSDictionary dictionaryWithObject: singleSectionArray forKey:@"data"];
[dataArray singleSectionDictionary];
Спасибо
спасибо за ответ, но не могли бы вы также рассказать мне, как вводить данные в массиве? Я просто не могу этого сделать. большое спасибо – Vins