从for循环添加NSMutableArray中的数据

问题描述:

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

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

我想保存在一个全球性的NSMutableArray循环产生的数据,我创建一个名为“置业有限公司” 我试着用

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

[_companyName addObject:_company.address]; 

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

任何人都可以告诉我,如果有任何方法可以正确添加数据吗?

预先感谢您。

+0

这个问题是很难理解......你在哪里“印刷筛选”?向我们显示该代码。 – borrrden

+0

你的代码似乎很好......它必须是你打印数组内容的方式 – giorashc

+0

我只是试图用 - NSLog(@“%@”,_companyAddress)在 - (void)viewDidLoad中打印内容,但我只收到30行中的1行。 – daunmi

NSMutableArray companyAddress //财产申报gobal和综合加上分配的applicationdidFinishLaunchingWithOptions方法在应用程序委托

现在创建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置业有限公司mutablearray

编辑:只是强调文本更好的答案

+0

感谢您的快速回复。有没有办法做到这一点,而无需触摸AppDelegate? – daunmi

+0

使用companyAddress作为视图控制器的.h中的类成员,然后替换[objAppDelegate.companyAddress addObject:_company];与 [companyAddress addObject:_company]; –

+0

在循环外部执行NSLog,它输出30行,但全部都是(空)。怎么会这样? – daunmi