我有一个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中的数据会被覆盖每个循环而不是被添加。
有人能告诉我是否有任何方法可以正确添加数据?
提前谢谢。
答案 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
中编辑:只是突出显示文字以获得更好的答案