彼ら
私は新しいiOS開発者ですが、新しいスレッドでsoap関数を呼び出すときに問題が発生します。
詳細は次のとおりです。
SOAPWebサービスを呼び出す関数があります。
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>
Webサービスから戻ります。そして私の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を配置しましたが、今回は出力されません)。
なぜこれが起こっているのか分かりませんでした、
ヒントは大歓迎です!
ありがとう!