2013-03-18 25 views
0

我是iPhone应用程序开发中的新手。所以请帮助我。我试图开发一个应用程序,我需要在表视图中显示联系人姓名号和图像。我有一个名为Records.h和Records.m的类文件,其中包含NSString类型名称,编号和图像的三个对象。我选择从数据库中的数据,并存储在这个类文件的对象中的每个数据是这样的:如何将类文件的对象存储在iphone中的数组中iphone

Records *data = [[Records alloc] init]; 

data.contactname = [NSString stringWithUTF8String: (char *) sqlite3_column_text(stmt, 1)]; 

      data.contactnumber = [NSString stringWithUTF8String: (char *) sqlite3_column_text(stmt, 2)]; 

      data.contactimage = [NSString stringWithUTF8String: (char *) sqlite3_column_text(stmt, 3)]; 

然后我这个类文件存储在NSMutableArray

[array addObject:data]; 

使得每一个索引我有三个字符串的名称,数字和图像的每个对象。现在我只想从每个索引中选择名称部分。任何想法如何做到这一点.. ??

+0

简单,检查下面添加的代码: 在你的tableview数据源的方法:的cellForRowAtIndexPath: 记录*纪录= [阵列objectAtIndex:indexpath.row]; 现在你可以获取,record.contactname,record.ctnumber,record.ctimage等 – Mrunal 2013-03-18 10:32:19

+1

工作..!谢谢Mrunal .. :) – Paul 2013-03-18 10:39:32

+0

我已经实现了这一点。但是我面临一个问题。每次标签都获得相同的文字。就像我有两个名字保罗和约翰。但在表格视图中,两个单元格都显示相同的名字保罗。选择查询从数据库返回正确的数据。这是代码:data = [namelist objectAtIndex:indexPath.row]; UILabel * lbl; lbl =(UILabel *)[cell viewWithTag:1]; lbl.text = data.contactname; – Paul 2013-03-18 11:39:56

回答

0

在你的tableview的cellForRowAtIndexPath方法写下面的代码:

Records *shareObj = [array objectAtIndex:indexPath.row]; 
label.text=shareobj.name; 
label2.text=shareobj.contactnumber; 
+0

我已经实现了这一点。但是我面临一个问题。每次标签都获得相同的文字。就像我有两个名字保罗和约翰。但在表格视图中,两个单元格都显示相同的名字保罗。选择查询从数据库返回正确的数据。 这里是代码: data = [namelist objectAtIndex:indexPath.row]; UILabel * lbl; lbl =(UILabel *)[cell viewWithTag:1]; lbl.text = data.contactname; – Paul 2013-03-18 11:36:20

+0

我可以看到你的代码cellForRowAtIndexPath方法 – 2013-03-18 11:54:59

+0

现在问题已经解决。实际上,我一次只通过不允许为新对象创建内存来为我的类的对象分配内存。记录* data = [[Records alloc] init];我已经宣布这实际上是错误的地方。 – Paul 2013-03-18 13:10:48

0

试试这个::

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    Records *objRecord = [array objectAtIndex:indexPath.row]; 
    NSLog(@"Name :: %@", objRecord.name); 

    lbl.title.text = objRecord.name; 
} 

感谢。

0
//in . h file 
@property (strong, nonatomic) UILabel *labelContactName; 
@property (strong, nonatomic) UILabel *labelContactNumber; 

//in . m file 
_labelContactName = [[UILabel alloc] initWithFrame:CGRectMake(50, 0, 230, 32)]; 

    _lableContactName.backgroundColor = [UIColor clearColor]; 
    [cell.contentView addSubview:_labelContactName]; 

     _labelContactNumber= [[UILabel alloc] initWithFrame:CGRectMake(50, 27, 110, 20)]; 

    _lableContactNumber.backgroundColor = [UIColor clearColor]; 



    [cell.contentView addSubview:_labelContactNumber]; 

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
Records *objRecord = [array objectAtIndex:indexPath.row]; 
    NSLog(@"Name :: %@", objRecord.name); 
_lableContactName.text=objRecord.name; 
} 
相关问题