伙计们
我是一名新的 iOS 开发人员,在新线程中调用肥皂函数时遇到问题。
这里有更多细节:
我有一个调用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>
从网络服务回来。我的 getUserHandler 将完美运行。
但如果我想在这样的线程中调用 web 服务:
[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似乎永远不会启动(我在getUserHandler中放了一个NSLog,但这次不会打印)。
我不知道为什么会这样,
欢迎任何提示!
谢谢!