Я столкнулся с проблемой, когда хотел передать NSMutableArray от делегата к контроллеру табличного представления и затем перезагрузить его данные,
Мне нужно сделать это, потому что у меня есть свой сокет в делегате, и когда он получает данные, он возвращает NSMutableArray, который должен быть данными для таблицы, к сожалению, он передает nil
Я покажу вам мой код: D
ДЕЛЕГАТ:
Я синтезировал 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-set
@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