2009-11-17 49 views
0

我正在開發一個iPhone應用程序。明智地排序uitableview

在我想說明排序上的日期字段的UITableView數據的應用程序:

假設我有一個字段的名字,出生日期,電話號碼等Person對象

現在我人陣我在日期字段上排序該數組。

現在我不明白如何處理這兩種方法;

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



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

如何計算日期明智的對象,並確定?

回答

1

假設你有一個部分和分選NSArrayNSMutableArray稱爲_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:以返回部分的數量(部分數組的數量爲count),以及其他兩種方法:1)獲取部分數組中的元素數; 2)針對給定的indexPath.sectionindexPath.row回憶正確的Person

+0

我需要多個部分。假設部分人員(即16-11-2009)。你能用一點代碼解釋這個嗎? – harshalb 2009-11-17 12:12:58

+0

製作一個名爲'sections'的'NSMutableArray'。 'sections'的每個元素都是另一個包含'Person'實例的'NSMutableArray'。你只需要將你的'Person'集合分解到這些部分。 一旦你有了,你可以調用'[sections objectAtIndex:indexPath.section]'來爲單個索引獲取'Person'的'NSMutableArray'。 一旦你有*那*,你基本上有和上面相同的代碼,除了你用'indexPath.section'和'indexPath.row'獲取'Person'實例,而不是'indexPath.row' 。 – 2009-11-17 12:18:36