繁体   English   中英

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

[英]Add data in NSMutableArray from for loop

我有一个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中的数据将为每个循环覆盖而不是被添加。

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

先感谢您。

NSMutableArray companyAddress companyAddress //在application程序委托中的带属性和合成加分配的全局声明在application didFinishLaunchingWithOptions方法中

现在创建Application Delegate's对象,说像您的Application Delegate名称是

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);
}

所有公司参考资料将存储在全球公司地址mutablearray中

编辑 :仅突出显示文本以获得更好的答案

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM