Я пытаюсь загрузить строки из своего веб-сервиса в объект табличного представления в проекте iPhone с помощью xCode.
Я использую метод viewDidLoad для загрузки элементов, в этом методе я вызываю свой веб-сервис с этим кодом:
eenAccesoCupon* Servicio = [[eenAccesoCupon alloc] init];
Servicio.logging=NO;
[Servicio GetCuponesEntrantes:self action:@selector(GetCuponesEntrantesHandler:) UsuarioActivo: 4];
У меня есть NSMutableArray (называемый listOfItems), который я использую для загрузки строк в TableView. Если я добавлю элементы в этот массив в GetCuponesEntrantesHandler, в табличном представлении не будет отображено ни одной строки. Исходный код этого обработчика следующий:
(void) GetCuponesEntrantesHandler: (id) value {
// Handle errors
if([value isKindOfClass:[NSError class]]) {
NSLog(@"%@", value);
return;
}
// Handle faults
if([value isKindOfClass:[SoapFault class]]) {
NSLog(@"%@", value);
return;
}
// Do something with the NSMutableArray* result
NSMutableArray* listOfItems = (NSMutableArray*)value;
}
Кажется, что строки TableView загружаются до вызова веб-метода, поэтому методы табличного представления, такие как numberOfRowsInSection и cellForRowAtIndexPath, вызываются до вызова веб-сервисов. Если я загружаю элементы строк в viewDidLoad следующим образом:
(void)viewDidLoad {
[super viewDidLoad];
//Initialize the array.
listOfItems = [[NSMutableArray alloc] init];
//Add items
[listOfItems addObject:@"Iceland"];
[listOfItems addObject:@"Greenland"];
[listOfItems addObject:@"Switzerland"];
[listOfItems addObject:@"Norway"];
[listOfItems addObject:@"New Zealand"];
[listOfItems addObject:@"Holland"];
[listOfItems addObject:@"Ireland"];
//Set the title
self.navigationItem.title = @"Countries";
eenAccesoCupon* Servicio = [[eenAccesoCupon alloc] init];
Servicio.logging=NO;
[Servicio GetCuponesEntrantes:self action:@selector(GetCuponesEntrantesHandler:) UsuarioActivo: 4];
}
В этом случае объект tableview показывает только эти 7 значений, загружаемых в listOfItems, никогда не загружайте никаких элементов из GetCuponesEntrantesHandler.
Кто-нибудь знает в чем проблема?