如何在iphone中将类文件的对象存储在数组中

如何在iphone中将类文件的对象存储在数组中,iphone,nsarray,Iphone,Nsarray,我是iphone应用程序开发新手。所以请帮我。我正在尝试开发一个应用程序,在该应用程序中,我需要在表视图中显示联系人姓名、号码和图像。我有一个名为Records.h和Records.m的类文件,其中有三个NSString类型的对象name、number和image。我从数据库中选择数据,并将每个数据存储在此类文件的对象中,如下所示: Records *data = [[Records alloc] init]; data.contactname = [NSString stringWithUT

我是iphone应用程序开发新手。所以请帮我。我正在尝试开发一个应用程序,在该应用程序中,我需要在表视图中显示联系人姓名、号码和图像。我有一个名为Records.h和Records.m的类文件,其中有三个NSString类型的对象name、number和image。我从数据库中选择数据,并将每个数据存储在此类文件的对象中,如下所示:

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];

这样,在每个索引处,我都有每个对象,每个对象都有三个字符串name、number和image。现在我只想从every索引中选择名称部分。你知道怎么做吗?..

在tableview的cellForRowAtIndexPath方法中,编写以下代码:

Records *shareObj = [array objectAtIndex:indexPath.row];
label.text=shareobj.name;
label2.text=shareobj.contactnumber;
试试这个:

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

   lbl.title.text = objRecord.name;
}

谢谢。

Simple,请检查下面添加的代码:在tableview数据源方法中:cellforrowatinexpath:Record*Record=[array objectAtIndex:indexath.row];现在您可以获取、record.contactname、record.ctnumber、record.ctimage等正在工作的。。!!谢谢你,先生……)我已经实现了这一点。但我面临一个问题。每次标签都会得到相同的文本。就像我有两个名字paul和john,但在表视图中,两个单元格都显示了相同的名字paul。select查询正在从数据库返回正确的数据。下面是代码:data=[namelistobjectatindex:indexath.row];UILabel*lbl;lbl=(UILabel*)[带标记的单元格视图:1];lbl.text=data.contactname;请添加您在CellForRowatineXpath中添加的新代码,好吗?谢谢。问题现在已经解决了。实际上,我只为类的对象分配了一次内存,不允许为新对象创建内存。记录*数据=[[Records alloc]init];实际上,我宣布这不是一个错误的地方。我已经实施了这一点。但我面临一个问题。每次标签都会得到相同的文本。就像我有两个名字paul和john,但在表视图中,两个单元格都显示了相同的名字paul。select查询正在从数据库返回正确的数据。下面是代码:data=[namelistobjectatindex:indexath.row];UILabel*lbl;lbl=(UILabel*)[带标记的单元格视图:1];lbl.text=data.contactname;问题现在已经解决了。实际上,我只为类的对象分配了一次内存,不允许为新对象创建内存。记录*数据=[[Records alloc]init];事实上,我宣布这不是一个正确的地方。
   //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;
}