从for循环中添加NSMutableArray中的数据

时间:2012-05-23 06:39:02

标签: ios for-loop nsmutablearray

我有一个for循环,我可以从导入的文件中获取检索到的数据。

-(NSArray *) csvArray2CompaniesArray:(NSArray *) csvArray
{
    int i=0;

    NSMutableArray *ma = [[NSMutableArray alloc] init];

    for (NSArray * row in csvArray)
    {
        if (i>0)
        {
            Company *_company = [[Company alloc] init];

            _company.name = [row objectAtIndex:0];
            _company.address = [row objectAtIndex:1];
            _company.telephone = [row objectAtIndex:2];

            [ma addObject:_company];

            //[_companyAddress addObject:[row objectAtIndex:1]];
            //[_companyAddress addObject:_company.address];
        }
        i++;
    }
    return (NSArray *) ma;   
}

我想将循环中生成的数据保存在我创建的名为“companyAddress”的全局NSMutableArray中 我试过

[_companyAddress addObject:[row objectAtIndex:1]];

[_companyName addObject:_company.address];

当我尝试在屏幕上打印_companyAddress的内容时,它只输出“_company.address”中包含的最后一行,所以我想NSMutableArray中的数据会被覆盖每个循环而不是被添加。

有人能告诉我是否有任何方法可以正确添加数据?

提前谢谢。

1 个答案:

答案 0 :(得分:0)

NSMutableArray companyAddress //带有属性的gobal声明以及Application Delegate中application didFinishLaunchingWithOptions方法中的综合加分配

现在创建Application Delegate's对象,例如你的应用程序代理名称是

AppDelegate then AppDelegate *objAppDelegate = (AppDelegate *)[[UIApplication sharedApplication]delegate]; 

该方法将是:

-(void) csvArray2CompaniesArray:(NSArray *) csvArray
{

 for (NSArray * row in csvArray)
 {
        Company *_company = [[Company alloc] init];

        _company.name = [row objectAtIndex:0];
        _company.address = [row objectAtIndex:1];
        _company.telephone = [row objectAtIndex:2];

        [objAppDelegate.companyAddress addObject:_company];
        [_company release];

 }
  NSLog(@"%@",objAppDelegate.companyAddress);
}

所有公司参考文献都将存储在gobal companyAddress mutablearray

编辑:只是突出显示文字以获得更好的答案