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