我制作了一个社交网络应用程序,我正在调用各种Web服务来获取用户的不同数据,如好友列表、最新更新等。
但是,当我在后台调用一个Web服务,然后调用另一个时,第一个停止,第一个没有响应。。。
该怎么办?
是否不能同时调用两个Web服务??
我不确定您是如何调用服务的。如果你愿意展示你的代码,任何人都可以帮你更多。。。
你可以试试这个-
- (NSData *)fetchProfileData:(NSString *)accessToken{
NSURL *url = [NSURL URLWithString:serverURL];
request= [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"POST"];
NSError *error;
NSHTTPURLResponse *response;
NSData *responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
return responseData;
}
调用其他web服务为每个服务(如)创建单独的功能
- (NSData *)fetchFriendsList:(NSString *)accessToken{
//write your logic, you see above method for more details
}
- (NSData *)fetchUpdates:(NSString *)accessToken{
//write your logic, you see above method for more details
}
从您的视图控制器(如)调用以上方法
[NSThread detachNewThreadSelector:@selector(callFetchProfileDataServices:) toTarget:self withObject:@"userToken"];
-(void)callFetchProfileDataServices:(NSString*)token{
NSData *response = [self fetchProfileData:token];
//now parse response data data using suitable parser
}
您需要为每个服务创建单独的线程,还可以将这些数据保存在成员字段中。