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
套接字是否在不同的线程上接收数据? – catsby 2010-01-06 13:01:18
不应该'downloads_Controller.downloads = xmlArray;'是'self.downloads_Controller.downloads = xmlArray;'?或者是一个错字? – catsby 2010-01-06 13:05:15
自我是首选,但没有自我,它只会跳过访问器,如果你使用的是像键值编码(KVC)这样的东西,这是非常糟糕的。 – Anurag 2010-01-06 13:14:59