2012-01-05 68 views
0

我有一个NSArrayNSDictionaries其中每个字典都有相同的密钥。我想为数组中的每个字典设置一个部分。使用NSArray加载UITableView

例如,如果数组有4个字典,则该表将有4个部分。然后每个部分中的每个单元格将与字典中的该值相对应。

是否有一个简单的方法来做到这一点?

例如,我有一个带有3个词典的NSArray,其中每个词典都有3个键,名称,性别和日期。

这意味着该表应该有3个部分,其中每个部分的标题是其字典的日期键。然后,该部分有2个单元对应于名称和性别值。

+0

http://developer.apple.com/library/ios/#documentation/uikit/reference/UITableView_Class/Reference/Reference.html请参阅:numberOfSections,numberOfRowsInSection – 2012-01-06 00:28:27

+0

雅我很熟悉这些方法,但我'不知道如何从'titleForHeaderInSection'方法正确设置字典中的日期键。 – Jon 2012-01-06 00:30:31

回答

1

雅我familar与方法,但我不知道怎么去从字典正确地安装在 titleForHeaderInSection方法 日期键。

- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section{ 
    return (NSString *)[myArray objectAtIndex:section] objectForKey:@"date"]; 
} 

这完美地工作。但我怎样才能以类似的方式编辑cellForRowAtIndexPath中的代码?

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ 
    /* Create myCell UITableViewCell */ 

    NSString *value = @"Unknown"; 
    if (indexPath.row == 0){ 
     value = (NSString *)[[myArray objectAtIndex:indexPath.section] objectForKey:"name"]; 
    }else if (indexPath.row == 1){ 
     value = (NSString *)[[myArray objectAtIndex:indexPath.section] objectForKey:@"gender"]; 
    } 

    myCell.textPropertyOrWhatever = value; 
    return myCell; 
} 

你甚至想这个呢? :P

+0

这工作完美无瑕。但是,我怎样才能以类似的方式编辑'cellForRowAtIndexPath'中的代码? – Jon 2012-01-06 00:43:25