Привет всем, это мой первый пост здесь, поэтому я постараюсь быть максимально ясным.
Итак, в моем проекте мне нужно получить документ XML из веб-сервиса с помощью SOAP изатем проанализируйте его в NSMutableArray (это сделано).Затем я хотел бы отобразить содержимое моей таблицы в виде таблицы.Проблема в том, что в моем делегате я не могу получить доступ ни к чему из моего viewController.
У меня есть 3 класса, SOAP_TestViewController, SOAP_TestAppDelegate и XMLParser.Я отправляю массив, содержащий проанализированный файл, из XMLParser в Appdelegate, а затем я хотел бы обновить массив в моем viewController, чтобы использовать его для обновления моего табличного представления.
Вот немного кода,может помочь понять.
#import "SOAP_TestAppDelegate.h"
#import "SOAP_TestViewController.h"
#import "XMLParser.h"
@implementation SOAP_TestAppDelegate
@synthesize window;
@synthesize viewController;
- (void)applicationDidFinishLaunching:(UIApplication *)application {
[window addSubview:viewController.view];
NSLog(@"%@", viewController.donnees); //Here I can get what I want.
[window makeKeyAndVisible];
}
-(void)afficher{
NSLog(@"%@", viewController.donnees); //But there, it returns (null)...
[viewController reload];
}
- (void)dealloc {
[viewController release];
[window release];
[super dealloc];
}
@end
Я потратил несколько часов, чтобы найти решение.И я кое-что заметил.Как говорят комментарии в моем коде, я могу получить доступ к тому, что хочу, в функции applicationDidFinishLaunching
, но не снаружи.Так я работаю над копиями или что-то, когда я вне этой функции?И что я должен сделать, чтобы получить доступ к моей таблице "donnees"?
Я такой новичок в кодировании какао, поэтому, пожалуйста, скажите мне, если я делаю что-то неправильно.
(Пожалуйста, будьте снисходительныс моим английским :-) Я еще не говорю на двух языках ^^ ')
EDIT
Моя afficher
функция вначале выглядела так.Я вызываю его из XMLParser с разобранным массивом в качестве параметра.Я был уверен, что это сработает, но ...
-(void) afficher:(NSMutableArray *)array
{
NSLog(@"%@", array); //returns the array sent by XMLParser.
[viewController.donnees addObjectsFormArray:array];
NSLog(@"%@", viewController.donnees); //returns null.
}
Странно, как будто донны даже не были выделены и инициализированы ...