2013-12-20 3 views
0

У меня есть NSMutableArray с последними 30-дневными записями, извлеченными из БД. Каждая запись состоит из строки и даты создания.Группа UITableView по дате без использования coredata

Теперь я хочу, чтобы эти записи подавали UITableView, который будет иметь раздел для каждого другого дня и одну ячейку в каждом разделе, просто показывая, сколько записей существует для каждого дня.

Ну, это были часы размышлений, и я пока не могу понять, как это сделать. Все вопросы, которые я нашел в stackoverflow, связаны с основными данными, но я не использую его в своем приложении.

Любая помощь будет оценена по достоинству.

ответ

0

Вы можете группировать данные в соответствии с датой. Затем вы можете хранить сгруппированный массив в словаре, и ключ будет датой, и этот ключ будет вашим заголовком таблицы, а значение будет списком данных в эту дату. Надеюсь, вы получили такой подход.

+0

Я не знаю, как группироваться по дате, и я никогда не использовал словари, поэтому пример был бы замечательным. – Aleph72

+0

, чтобы группировать по дате, вам нужно перебирать массив, если дата не одинакова, вам нужно отделить записи от другого другого массива и сохранить их в словаре. Вы можете найти пример о словаре здесь: http://www.techotopia.com/index.php/Objective-C_Dictionary_Objects –

+0

Я рекомендую использовать 'NSDateComponents' вместо NSDate как ключи в словаре. –

1
//after fetching data,write below code<br> 
int cArray[30]; //create it as global array.cArray stores number of records that fall in particular date. if cArray[j]=10, it means for j'th date, there are 10 records. 

// initialise all to zero. 

for (int i=0; i<30; i++) { 
    cArray[i]=0; 
} 
NSArray *myArray;// my array stores your records. 
[myArray enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) { 
    Record *rec = (Record*)obj; 
    cArray[(int)(rec.creationDate)]++; 
}]; 

И позже вы можете использовать cArray для отображения количества записей, которые попадают в определенную дату.
Надеюсь, это поможет.

1

Я применил мою модель данных, подобную этому случаю. У меня есть массив NSDateComponents для каждого дня и есть словарь, которые являются компонентами даты, которые хранятся в массиве, а значения - это массивы, которые хранят данные за каждый день. Этот подход работает очень хорошо для меня.

Смежные вопросы