nsObject用于使用ASIHTTPRequests

时间:2011-08-30 20:40:08

标签: iphone ios asihttprequest

我想创建一个nsobject,它将拥有我的所有方法,用于与我的php脚本交谈并从我的数据库中获取数据。

我想使用ASIHTTPRequest包装器来为我做这个,但是我不知道如何构造这个nsobject,因为会有几个方法调用不同的php脚本(或者具有不同功能的php)。

我在abit丢失的地方是考虑从我希望显示数据库中的数据的视图中调用nsobject方法,因为我不知道如何使用 - (void)将数据传递到视图requestFinished:(ASIHTTPRequest *)request {method。

例如,nsobject就像这样

//...
-(IBAction) method1
{
     NSURL *url = [NSURL URLWithString:@"http://allseeing-i.com"];
     ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
     [request setDelegate:self];
     [request startAsynchronous];
}

-(IBAction) method2
{
     NSURL *url = [NSURL URLWithString:@"http://allseeing-i.com"];
     ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
     [request setDelegate:self];
     [request startAsynchronous];
}
-(IBAction) method3
{
     NSURL *url = [NSURL URLWithString:@"http://allseeing-i.com"];
     ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
     [request setDelegate:self];
     [request startAsynchronous];
}

//Then catch each method request with one

- (void)requestFinished:(ASIHTTPRequest *)request{ //etc

//and use one failed request 

- (void)requestFailed:(ASIHTTPRequest *)request{ //etc

或者您是否将requestFinished方法放在要显示信息的视图中?

1 个答案:

答案 0 :(得分:1)

您应该将HTTP请求回调(requestFinished:和requestFailed :)放在UIViewController的子类中。无论视图控制器控制相关视图是什么,最有可能的情况是,除非强烈需要在视图控制器之间共享功能,在这种情况下,您可以将其分解为单个工作,其唯一的工作是处理这些网络请求。无论哪种方式,需要此数据的视图都应由其视图控制器进行修改。视图本身不应与网络代码有任何联系。