2010-01-06 47 views
0

当我想要从代理传递一个NSMutableArray到一个tableview控制器,然后重新加载它的数据时,我遇到了一个问题,我需要这样做,因为我有我的套接字在代理中,当它接收数据,它返回它应该是为实现代码如下的数据NSMutableArray的,不幸的是它传递零:( 生病告诉你我的代码:d从代理传递NSMutableArray到tableview

委托:

我为了使用已合成的tableviewcontroller get-set

@property(nonatomic, retain) DownloadsController *downloads_Controller; 

现在的代码:

- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName{ 
if([elementName isEqualToString:@"downloads"] || [elementName isEqualToString:@"results"]){ 
    if([elementName isEqualToString:@"downloads"]){ 
     NSLog(@"downloads found... reloading table"); 
     downloads_Controller.downloads= xmlArray; 
     NSLog(@"%@ passed from %@", self.downloads_Controller.downloads, xmlArray); // <-- first value return nil, while xmlArray displays properly 
     [downloads_Controller.tableView reloadData]; 
    } 
} 
} 

资料下载控制器:

在这里,我也做了同样的顶部,以使用Get-设置

@property(nonatomic, retain) NSMutableArray *downloads; 

不幸的是这发生了什么......当解析器代表被AppDelegate调用时:

2010-01-06 13:43:41.770 iMule[613:20b] downloads found... reloading table 
2010-01-06 13:43:41.772 iMule[613:20b] (null) passed from (<-- FIRST ARGUMENT NULL :(
    { 
    name = joe; 
    type = text; 
    }, 
    { 
    name = joe2; 
    type = text; 
    } 
) 

任何人有任何建议?

感谢= d

+0

套接字是否在不同的线程上接收数据? – catsby 2010-01-06 13:01:18

+0

不应该'downloads_Controller.downloads = xmlArray;'是'self.downloads_Controller.downloads = xmlArray;'?或者是一个错字? – catsby 2010-01-06 13:05:15

+0

自我是首选,但没有自我,它只会跳过访问器,如果你使用的是像键值编码(KVC)这样的东西,这是非常糟糕的。 – Anurag 2010-01-06 13:14:59

回答

0

做到了! 我完全忘了连接IB中的tableviewcontroller!现在一切都完美了!

感谢您的回答:D

相关问题