从2个NSURLRequests中的1个中进行TableView拉取

时间:2012-12-21 10:52:43

标签: objective-c ios uitableview nsurlrequest nsjsonserialization

我无法告诉我的表格视图应该定位哪个NSURLRequest。我可以获得一个基本的表视图来加载单个查询,但我试图让它从一个不同的URL拉出json字符串,如果某些分段控件是活动的。

前三行代码单独使用

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];
}

有谁知道为什么我无法指定我希望tableview定位哪个NSURLRequest?谢谢!

1 个答案:

答案 0 :(得分:0)

您想要从这两个网址显示数据吗?

如果是,则必须先取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语句。