2009-11-17 5 views
0

Я разрабатываю приложение для iPhone.date wise sorted uitableview

В приложении я хочу показать данные UITableView отсортированные по полю дата:

Предположим, у меня есть объект Person с именем поля, дата рождения, номер телефона и т.д.

Теперь у меня есть массив Person и я сортирую этот массив в поле даты.

Теперь я не понимаю, как обращаться с этими двумя методами;

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



(NSInteger)tableView:(UITableView *)tableView 
numberOfRowsInSection:(NSInteger)section 

т.е.

Как посчитать дату мудрых объектов и определить?

ответ

1

Если у вас есть один раздел и отсортированный NSArray или NSMutableArray называется _personArray:

- (NSInteger) numberOfSectionsInTableView:(UITableView *)_tableView { 
    return 1; 
} 

- (NSInteger) tableView:(UITableView *)_tableView numberOfRowsInSection:(NSInteger)_section { 
    return [_personArray count]; 
} 

- (UITableViewCell *) tableView:(UITableView *)_tableView cellForRowAtIndexPath:(NSIndexPath *)_indexPath { 
    Person *_person = [_personArray objectAtIndex:_indexPath.row]; 
    NSString *_cellIdentifier = [NSString stringWithFormat: @"%d:%d", _indexPath.section, _indexPath.row]; 
    UITableViewCell *_cell = [_tableView dequeueReusableCellWithIdentifier:_cellIdentifier]; 
    if (_cell == nil) { 
     _cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:_cellIdentifier] autorelease]; 
    } 

    _cell.textLabel.text = _person.name; 
    _cell.detailTextLabel.text = _person.birthdate; 

    return _cell; 
} 

Если требуется несколько разделов, разделить ваш массив на несколько NSMutableArray экземпляров, каждый из которых содержит Person экземпляры, связанные с определенным разделом.

Затем измените значение -numberOfSectionsInTableView:, чтобы вернуть количество разделов (a count количества массивов разделов), а также два других метода: 1) получить количество элементов в массиве разделов и; 2), чтобы напомнить право Person для данного indexPath.section и indexPath.row.

+0

Мне требуется несколько секций. предположите, что лица в секции (т. е. родом 16-11-2009). Можете ли вы объяснить это небольшим кодом? – harshalb

+0

Создайте 'NSMutableArray' под названием' sections'. Каждый элемент 'sections' - это другой' NSMutableArray', содержащий экземпляры Person. Вам просто нужно запрограммировать разбиение набора 'Person' в эти разделы. После этого вы можете вызвать '[разделы objectAtIndex: indexPath.section]', чтобы получить 'NSMutableArray'' Person's для одного индекса. После того, как у вас есть * это *, у вас в основном есть тот же код, что и выше, за исключением того, что вы извлекаете экземпляр «Person» с индексами 'indexPath.section' и' indexPath.row', а не просто 'indexPath.row' , –