0

대상이되어야하는 NSURLRequest를 내 테이블보기에 알리는 데 문제가 있습니다. 하나의 쿼리로로드 할 수있는 기본 테이블 뷰를 얻을 수 있지만 특정 세그먼트 컨트롤이 활성화되어 있으면 다른 URL에서 json 문자열을 가져 오려고합니다. 내가 처음 세 이후에 다음과 같은 세 가지 라인을 포함하는 경우TableView 만들기 2 중 1에서 NSURLRequests

NSString *urlA1 = [NSString stringWithFormat:@"http://www.website.com/json_books.php? 
item_id=%@",itemId]; 

NSURL *urlA2 = [NSURL URLWithString:urlA1]; 

NSURLRequest *requestA = [NSURLRequest requestWithURL:urlA2]; 
[[NSURLConnection alloc] initWithRequest:requestA delegate:self]; 

그러나 스스로 코드 작업이 처음 세 줄이는있는 tableview 첫 번째 NSURLRequest에서 JSON을로드 한 후 즉시 깜박이며 내용을 보여줍니다

NSString *urlB1 = [NSString stringWithFormat:@"http://www.website.com/json_movies.php? 
item_id=%@",itemId]; 

NSURL *urlB2 = [NSURL URLWithString:urlB1]; 

NSURLRequest *requestB = [NSURLRequest requestWithURL:urlB2]; 
[[NSURLConnection alloc] initWithRequest:requestB delegate:self]; 

나는 이러한 코드 라인 테이블 뷰에 결과를 당겨 오전 : :

- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse 
*)response 
{ 
    data = [[NSMutableData alloc] init]; 
} 

- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)theData 
{ 
    [data appendData:theData]; 
} 

- (void)connectionDidFinishLoading:(NSURLConnection *)connection 
{ 
    [UIApplication sharedApplication].networkActivityIndicatorVisible = NO; 

    items = [NSJSONSerialization JSONObjectWithData:data options:nil error:nil]; 
    [mainTableView reloadData]; 
} 
아래 문자열에서

누가 왜 NSURLRequest 내가 tableview 대상으로하고 싶습니다 지정할 수 없다는 것을 알고 있습니까? 고맙습니다!

답변

0

두 URL의 데이터를 모두 표시 하시겠습니까?

그렇다면 NSMUtableArray을 가져 와서 요청을 실행하기 전에 ViewDidload에 배열을 초기화해야합니다. 그리고 각 URL에서 객체를 배열에 추가해야합니다.

예 :

[DataArray addObject:@"Yourdata"]; 

[Yourtable reloadData]; 

당신은 세그먼트 제어 후 별도의 배열에 데이터를 저장에 따라 데이터를 분리해야하는 경우

.

MyfirstArray= @"Data from URL 1"; 

MySecondArray= @"Data from URL 2"; 


-(IBAction)SegmentChange:(Id)sender 
{ 
if(segmented.selectedSegmentIndex==0) 

{ 
items=MyfirstArray; 

[mytable reloadData]; 

} 

else 

{ 
items=MysecondtArray; 

[mytable reloadData]; 
} 

} 

또한 Switch 문을 사용할 수 있습니다.

+0

나는 분할 된 컨트롤이 활성화되어 있는지에 따라 두 URL 중 하나에서 데이터를 가져 오는 tableview를 궁극적으로 갖습니다. 두 URL의 데이터를 병합 할 계획은 없습니다. – Brandon

+0

ok 그런 다음 두 가지 선택 사항 1이 있습니다. 세그먼트 화 된 컨트롤에 따라 두 개의 다른 Array 및 Store 데이터를 사용할 수 있습니다. segmentedIndex를 선택했습니다. 2. 세그먼트 제어 값 변경 요청에 대한 호출 작업을 호출 할 수 있습니다. –

+0

고맙습니다. 첫 번째 옵션을 사용해 보겠습니다. 나는 아직도 두 NSURLRequests 중 어느 것이 목표로 지정되었는지를 알 수없는 이유를 알아 내는데 어려움을 겪고있다. 내 코드에 따르면, 그 tableview 그냥 가장 최근 NSURLRequest 끌어? – Brandon