Iphone 将NSMutableArray从委托传递到tableview
我想将NSMutableArray从委托传递到tableview控制器,然后重新加载其数据时遇到了一个问题, 我需要这样做,因为我在委托中有我的套接字,当它接收数据时,它返回一个NSMutableArray,该数组应该是tableview的数据,不幸的是它传递了nil:( 我给你看我的密码:D 代表: 我已经合成了tableviewcontroller以便使用get setIphone 将NSMutableArray从委托传递到tableview,iphone,cocoa-touch,uitableview,nsmutablearray,Iphone,Cocoa Touch,Uitableview,Nsmutablearray,我想将NSMutableArray从委托传递到tableview控制器,然后重新加载其数据时遇到了一个问题, 我需要这样做,因为我在委托中有我的套接字,当它接收数据时,它返回一个NSMutableArray,该数组应该是tableview的数据,不幸的是它传递了nil:( 我给你看我的密码:D 代表: 我已经合成了tableviewcontroller以便使用get set @property(nonatomic, retain) DownloadsController *downloads_C
@property(nonatomic, retain) DownloadsController *downloads_Controller;
@property(nonatomic, retain) NSMutableArray *downloads;
现在是代码:
- (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];
}
}
}
不幸的是,当在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;
}
)
2010-01-06 13:43:41.770模块[613:20b]下载找到…重新加载表
2010-01-06 13:43:41.772 iMule[613:20b](null)从(是否执行了此操作!!!
我完全忘了连接IB中的tableviewcontroller!现在一切都很完美
感谢您的回答:D套接字是否在另一个线程上接收数据?不应该下载\u Controller.downloads=xmlArray;
是self.downloads\u Controller.downloads=xmlArray;
?还是首选打字错误?self,但如果没有self,它只会跳过访问器,如果使用Key之类的东西,这是很糟糕的值编码(KVC)。我也尝试过self:(不幸的是,值仍然是(null)您有什么建议吗?为什么我不能将值从一个视图传递到另一个视图?