我想创建一个nsobject,它将具有我的所有方法,这些方法将用于与我的php脚本进行对话并从数据库中获取数据。

我想使用ASIHTTPRequest包装器为我完成此操作,但是我不确定如何构造该nsobject,因为将有几种方法调用不同的php脚本(或具有不同功能的同一php)。

我想从视图中调用nsobject方法时会迷失方向,我想从数据库中显示数据,因为我不确定如何使用-(void)requestFinished :( ASIHTTPRequest *)request {方法。

例如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方法放入要在其中显示信息的视图内?

最佳答案

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

关于iphone - 使用ASIHTTPRequests的nsObject,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7249540/

10-13 04:01