从另一个类调用webservice时出现问题

时间:2011-04-08 06:10:21

标签: iphone web-services json

这是我的班级

#import "newsFeedController.h"
- (void)viewDidLoad {
//statements
webService = [[WebServiceManager alloc] init];
    [webService setDelegate:self];
//am calling the webservicemanager class here
    [webService userStatusUpdateGet:@"1" endLimit:@"10" setSessionID:[[UserSession getInstance] SESSION_ID]];
//am printing.....
nslog(@"printing result %@",webService.test);

此测试是来自webServiceManager类的数组,只有在转到之后才能返回 - (void)connectionDidFinishLoading:(NSURLConnection *)connection方法

我该怎么做?谢谢

(我正在使用json请求和响应)

2 个答案:

答案 0 :(得分:1)

不是(void)connectionDidFinishLoading:(NSURLConnection *)connection WebServiceManager的委托方法吗?如果是,则可以在您的班级中访问,您可以在其中实现方法的操作

答案 1 :(得分:0)

为视图控制器创建一个协议,以便在检索数据时进行回调。视图控制器实现将根据需要刷新显示。

编辑:

创建协议:

@protocol WebServiceDelegate <NSObject>
@optional
- (void) serviceSuccessful: (BOOL)success withData:(NSMutableData*)data;

使用此协议的委托对象创建一个类。还要在此类中创建一个方法,由viewController调用该方法以开始设置连接:

@interface WebServiceHandler : NSObject {

id <WebServiceDelegate> delegate;}

在WebServiceHandler类中编写所有连接委托方法实现。在connectionDidFinishLoading中,设置委托对象:

[[self delegate] serviceSuccessful:YES withData:webData];

使viewController符合WebServiceDelegate协议,并为serviceSuccessful方法提供实现。现在,只要WebServiceHandler类完成从连接中检索数据,就会在viewController中调用此方法。