0

我无法告诉我的表格视图它应该指向哪个NSURLRequest。我可以得到一个基本的表格视图来加载一个单一的查询,但我试图让它从不同的URL拉动JSON字符串,如果某些分段控件是活动的。从2个NSURLRequests中制作TableView Pull

这前三行代码的工作由自己

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中的一个URL中获取数据。我不打算合并来自这两个网址的数据。 – Brandon

+0

ok然后你有两个选择1.你可以采取两个不同的阵列和存储数据根据分段控制选择segmentedIndex。 2.您可以调用分段控制值上的请求更改操作。 –

+0

谢谢我可能会选择第一个选项。我仍然无法弄清楚为什么我不能指定两个NSURLRequests中的哪一个作为目标。根据我的代码,这个tableview只是拉最近的NSURLRequest? – Brandon