人
我是一名新的iOS开发人员,在新线程中调用soap函数时遇到问题。
以下是更多详情:
我有一个调用soap web服务的函数:
WebService *webService = [[[WebService alloc]init]retain];
[webService getUser:self action:@selector(getUserHandler) userName: usnm encPassword: pswd];
此功能只是从sudzc.com(Great Website!Thanx!)生成的。 只需调用此功能我就可以获得
<user><username>XXX</username><userStatus>XXX</userStatus><companyCode>XXX</companyCode><password>XXX</password></user>
从webservice回来。我的getUserHandler将完美运行。
但如果我想在这样的线程中调用webservice:
[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中,但是这次不打印)。
我不知道为什么会这样,
欢迎任何提示!
感谢名单!
答案 0 :(得分:0)
我强烈建议您按照本教程中所述的方式查看同步 - 异步模式:
Sync-Async Pair Pattern – Easy concurrency on iOS
还有一个问题集中在同一个问题上:
Multiple async webservice requests NSURLConnection iOS
HTH