2013-04-15 47 views
0

我總是用於連接服務器單身人士類。我沒有檢查服務器的響應,也很容易獲取數據。現在我需要使用10個不同的請求。我創建屬性NSURLConnection。所以,我怎麼能確定我的委託方法用什麼連接像對於不同的NSURLConnection單身人士

- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response 
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data 

因爲從我採取不同的數據

回答

2

你可以做的是有一個表示連接,其數據的自定義連接類中的每個請求,可選的一些關於連接的信息。我用這個:

@interface MyConnection : NSObject 

@property NSURLConnection *connection; 
@property id info; 
@property NSMutableData *data; 

@end 

然後,只需把連接在一個數組,而實際NSURLConnection的對象進行相互比較,以找出連接接收到的數據/失敗等

創建連接:

NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:someRequest delegate:self]; 

    if (connection){ 
     MyConnection *con = [[MyConnection alloc] init]; 
     con.connection = connection; 
     con.data = [NSMutableData data]; 
     [self.arrayWithConnections addObject:con]; 
    } 

的方法:

-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data 
{ 
    MyConnection *con = [self getConnection:connection] 
    [con.data appendData:data]; 
} 

-(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response 
{ 
    MyConnection *con = [self getConnection:connection]; 
    [con.data setLength:0]; 
} 

-(MyConnection *)getConnection:(NSURLConnection *)con 
{ 
    for (MyConnection *myCon in self.arrayWithConnections) 
     if ([con isEqual: myCon.connection]) 
      return myCon; 
    return nil; 
} 
+0

非常感謝你 – user2213271