2009-11-17 7 views
0

Je développe une application iPhone.date wise trié uitableview

Dans l'application, je veux montrer les données uitableview triés sur le champ de date:

Supposons que j'ai un objet personne champs nom, date de naissance, numéro de téléphone, etc.

Maintenant, j'ai tableau de personne et je trier ce tableau sur le champ date.

Maintenant, je ne comprends pas comment gérer ces deux méthodes;

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



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

i.e.

Comment compter la date des objets sages et déterminer?

Répondre

1

En supposant que vous avez une section et Énuméré NSArray ou NSMutableArray appelé _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; 
} 

Si vous avez besoin de plusieurs sections, diviser votre tableau en plusieurs NSMutableArray instances, contenant chacun Person cas associés à une section spécifique.

Ensuite, modifiez -numberOfSectionsInTableView: pour renvoyer le nombre de sections (un count du nombre de tableaux de sections), ainsi que les deux autres méthodes pour: 1) obtenir le nombre d'éléments dans un tableau de sections et; 2) rappeler le droit Person pour un donné indexPath.section et indexPath.row.

+0

J'ai besoin de plusieurs sections. Supposons que les personnes dans la section (c'est-à-dire birthdte 16-11-2009). Pouvez-vous expliquer cela avec peu de code? – harshalb

+0

Faites un 'NSMutableArray' appelé' sections'. Chaque élément de 'sections' est un autre' NSMutableArray' contenant des instances 'Person'. Vous aurez juste besoin de programmer la division de votre ensemble de 'Person's dans ces sections. Une fois que vous avez cela, vous pouvez appeler '[sections objectAtIndex: indexPath.section]' pour obtenir un 'NSMutableArray' de' Person's pour un seul index. Une fois que vous avez * cela *, vous avez essentiellement le même code que ci-dessus, sauf que vous récupérez une instance 'Person' avec à la fois' indexPath.section' et 'indexPath.row', au lieu de simplement' indexPath.row' . –