2011-02-15 81 views
0

我是有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

查看按钮单击后打印的代码会很有帮助。 – Bogatyr 2011-02-15 10:33:14

回答

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

不通过可变数组,如果你不希望它改变。

+0

是的,我改变它,但没有变化,它在控制台打印,但如果使用这个数组有显示null – MaheshBabu 2011-02-15 10:55:21

0

首先,创建的数组包含对数组的引用,而不是参数数组中的对象数组。而且,由于您正在存储参数数组的引用,所以如果参数数组的内容发生更改,那么所有引用都会更改。

你可能不是想这样的事对于每个阵列:

agentids = [NSMutableArray arrayWithArray: Agentids]; 

(和[agentids保留]因为arrayWithArray返回一个自动释放的对象)。

+0

谢谢你的回答Bogatyr,但没有变化 – MaheshBabu 2011-02-15 10:52:50