iOS вызывает функции мыла в потоке

ребята

Я новый разработчик iOS, у меня проблема с вызовом функций мыла в новом потоке.

Вот подробнее:

У меня есть функция, вызывающая веб-службу мыла:

WebService *webService = [[[WebService alloc]init]retain];
[webService getUser:self action:@selector(getUserHandler) userName: usnm  encPassword: pswd];

Эта функция просто генерируется с sudzc.com (отличный веб-сайт! Спасибо!) просто вызывая эту функцию, я могу получить

<user><username>XXX</username><userStatus>XXX</userStatus><companyCode>XXX</companyCode><password>XXX</password></user>

вернулся из веб-сервиса. и мой getUserHandler будет работать отлично.

но если я хочу вызвать веб-сервис в таком потоке:

[NSThread detachNewThreadSelector:@selector(myMethod) toTarget:self withObject:nil];

-(void)myMethod
{
    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
    NSLog(@"!, %@,%@",usnm,pswd);
    WebService *webService = [[[WebService alloc]init]retain];
    [webService getUser:self action:@selector(getUserHandler) userName: usnm  encPassword: pswd];
    [pool drain];
}

Кажется, я не получаю returnxml, и кажется, что getUserHandler никогда не запускается (я поместил NSLog в getUserHandler, но на этот раз он не печатается).

Я понятия не имею, почему это происходит,

любые подсказки приветствуются!

Спасибо!


person cw9    schedule 09.08.2011    source источник
comment
Я слышал о попытке асинхронности, это хорошее направление? Потому что я не могу найти примеры вызова функции мыла таким образом.   -  person cw9    schedule 09.08.2011
comment
Почему бы не использовать Grand Central Dispatch? И вы чрезмерно удерживаете webService... это может протечь, если вы уже не понимаете, что вам нужно будет release дважды и сделать это.   -  person GarlicFries    schedule 10.08.2011
comment
Спасибо @GarlicFries, потому что я пытался не позволить пулу авторелиза выпустить мой веб-сервис...   -  person cw9    schedule 10.08.2011


Ответы (1)


Я настоятельно рекомендую вам изучить шаблон Sync-Async, как описано в руководстве здесь:

Шаблон синхронно-асинхронной пары – Простой параллелизм на iOS

Есть также вопрос, посвященный той же проблеме:

Несколько асинхронных запросов веб-сервиса NSURLConnection iOS

ХТН

person Faizan S.    schedule 09.08.2011
comment
О, да! эти 2 ссылки помогли мне Спасибо! - person cw9; 10.08.2011
comment
Luvina Как ты точно решил эту проблему? у меня такая же проблема и я не могу найти никакой помощи - person Yucel Bayram; 04.02.2013