所有
我创建了一个包含多个ViewControllers的应用。在viewController中,我使用NSURLConnection从Web服务器获取数据。现在,在每个ViewController中,我用以下内容发布数据:
NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease];
[request setURL:[NSURL URLWithString:[NSString stringWithFormat:@"http://www.data.com/GetAllRequestsToPlay.php"]]];
NSString *post = [NSString stringWithFormat:@"PI=%i",self.ownPlayer.playerID.intValue];
NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];
NSString *postLength = [NSString stringWithFormat:@"%d",[postData length]];
[request setHTTPMethod:@"POST"];
[request setValue:postLength forHTTPHeaderField:@"Content-Length"];
[request setHTTPShouldHandleCookies:YES];
[request setValue:@"application/x-www-form-urlencoded; charset=utf-8" forHTTPHeaderField:@"Content-Type"];
//set post data of request
[request setHTTPBody:[post dataUsingEncoding:NSUTF8StringEncoding]];
NSURLConnection *conn = [[NSURLConnection alloc]initWithRequest:request delegate:self];
并且在每个viewController中我都有以下方法:
这都是多余的,因为这些方法中的代码在每个viewController中都是相同的。
所以我想创建一个模型类“connectionManager”,它在每个viewController中用来做所有的网络(发送帖子和处理响应)。
我的问题:
答案 0 :(得分:0)
创建一个仅处理NSURLConnections的NSObject类。在此类中包括所有必需的委托,并添加NSNotification以在收到数据时提醒其他类。
然后在需要它的每个ViewController中实例化该类,并监听NSNotification以处理接收到的数据。