我想创建一个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/