我在myclass.m中有4个数组
我需要将这些数组放入myclassviewcontroller.m
为此我在myclassviewcontroller.m中编写代码就像这样。
- (void)resultarrays :(NSMutableArray *)Agentids loanofficerid:(NSMutableArray *)Loanofficerid agentname:(NSMutableArray *)agentname agentemail:(NSMutableArray *)agentemail agentphone:(NSMutableArray *)Agentphone {
agentids = [[NSMutableArray alloc] initWithObjects:Agentids,nil];
loanofficerid = [[NSMutableArray alloc] initWithObjects:Loanofficerid,nil];
agentnames = [[NSMutableArray alloc] initWithObjects:agentname,nil];
agentemails = [[NSMutableArray alloc] initWithObjects:agentemail,nil];
agentphone = [[NSMutableArray alloc] initWithObjects:Agentphone,nil];
NSLog(@"123 %@",agentids);
NSLog(@"123 %@",loanofficerid);
NSLog(@"123 %@",agentnames);
NSLog(@"123 %@",agentphone);
}
在myclass.m我写这个
myclassviewcontroller *LOVobj = [[myclassviewcontroller alloc]init];
[LOVobj resultarrays:resultData_agent loanofficerid:array1 agentname:array2 agentemail:array3 agentphone:array4];
然后显示我在控制台中打印的所有对象。
在此之后,在按钮中单击我打印这些数组然后它打印为空。
即使我为它分配了setter和getter方法。
我没有什么问题可以帮助我。
提前感谢你。
答案 0 :(得分:0)
首先,您要创建包含对数组的引用的数组,而不是参数数组中对象的数组。并且由于您正在存储参数数组的引用,如果参数数组的内容发生更改,所有引用也将更改。
你可能想要为每个数组都这样:
agentids = [NSMutableArray arrayWithArray: Agentids];
(和[agentids retain],因为arrayWithArray返回一个自动释放的对象)。
答案 1 :(得分:0)
首先,将代码更改为:
- (void)resultarrays :(NSArray *)Agentids loanofficerid:(NSArray *)Loanofficerid agentname:(NSArray *)agentname agentemail:(NSArray *)agentemail agentphone:(NSArray *)Agentphone {
agentids = [[NSMutableArray alloc] initWithArray: Agentids];
loanofficerid = [[NSMutableArray alloc] initWithArray: Loanofficerid];
agentnames = [[NSMutableArray alloc] initWithArray: agentname];
agentemails = [[NSMutableArray alloc] initWithArray: agentemail];
agentphone = [[NSMutableArray alloc] initWithArray: Agentphone];
NSLog(@"123 %@",agentids);
NSLog(@"123 %@",loanofficerid);
NSLog(@"123 %@",agentnames);
NSLog(@"123 %@",agentphone);
}
如果您不想更改它,请不要传递可变数组。