具有多个单元格的iphone listview

| 我已经能够使用下面的部分代码使listview显示单个数据字段。
NSMutableArray *array;
..
..
  array = [[NSMutableArray alloc] init];
  [array addObject:@\"John Doe\"];
但是我想保留几个字段,例如:  名称  ID  出生日期 我假设NSMutableArrary是一个NSString,但是我需要类似C的结构来保存我需要的字段。 该ID为\“ Hidden \”,但是当用户单击该行时,我需要访问它。我如何访问ID和其他字段?我该如何设置以便列表包含信息? 有人有示例代码可以解释如何执行此操作吗? 编辑#1:感谢您的评论,但我对iPhone来说还太陌生,确实需要查找有关如何执行此操作的示例代码。尽管评论听起来像可以做到,但我不知道从哪里开始。有人可以发布示例代码来说明3个字段吗? 编辑#2:到目前为止,我已经尝试了所有方法,是执行此操作的正确方法还是应该使用下面的想法?
Userrec.m
#import \"UserRec.h\"
@implementation Userrec
@synthesize Name, ID;
-(id)initWithName:(NSString *)n ID:(NSString *)d {
    self.Name = n;
    self.ID = d;
    return self;
}
@end
UserRec.h
#import <UIKit/UIKit.h>
@interface Userrec : NSObject {
NSString *Name;
NSString *ID;
}
@property (nonatomic, retain) NSString *Name;
@property (nonatomic, retain) NSString *ID;
-(id)initWithName:(NSString *)n ID:(NSString *)d;
@end
UserList.m
@synthesize userrecs;
…
- (void)viewDidLoad {
    [super viewDidLoad];
    NSString *Name = @\"Name\";
    NSString *ID = @\"IID\";
    Userrec *userrec = [[Userrec alloc] initWithName:Name ID:ID ];
    [userrecs addObject:userrec];
    NSLog(@\"Count %d\",[userrecs count]);
    [userrec release];
    NSLog(@\"Count %d\",[userrecs count]);
}
在我添加对象并检查计数后,其=0。所以我认为有什么问题吗?     
已邀请:
        NSMutableDictionary是最好的选择。您可以执行以下操作:
NSMutableDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:@\"John Doe\", @\"Name\", [NSNumber numberWithInt:5], @\"ID\", nil];
您可以使用同一模板(甚至是NSArray对象)继续添加任意多的字段。如果您还有其他麻烦,请查阅文档。请记住,您只能在NSDictionary中存储指向对象的指针。像
NSMutableDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:@\"John Doe\", @\"Name\", 5, @\"ID\", nil];
将无法正常工作。祝好运!     
        看一看NSMutableDictionary,似乎您想使用的确切东西 编辑: 这是一些示例代码
NSMutableArray *myData = [[NSMutableArray alloc] init];
NSMutableDictionary *myRow = [[NSMutableDictionary alloc] init];
[myRow setObject:@\"John Doe\" forKey:@\"Name\"];
[myRow setObject:@\"4738\" forKey:@\"ID\"];
[myRow setObject:@\"1/23/45\" forKey:@\"DOB\"];
[myData addObject:myRow];
[myRow release];
//Repeat from dictioanry alloc through release for each row you need to add
要在UITableView中显示它,您需要有一个UITableViewController类。在那里覆盖“ 10”功能。这是该功能的简单实现
-(UITableViewCell*) tableView:(UITableView*)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    NSInteger row = [indexPath row];
    static NSString *kCellID = @\"cellID\";

    UITableViewCell *cell = nil;

    cell = [tableView dequeueReuseableCellWithIdentifier:kCellID];
    if ( cell == nil )
    {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:kCellID] autorelease];
    }

    NSMutableDictionary curRow = [myData objectAtIndex:row];
    cell.textLabel.text = [curRow objectForKey:@\"Name\"];

    return cell;
}
    

要回复问题请先登录注册