0

我无法告诉我的表视图应该定位哪个 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 ?谢谢!

4

1 回答 1

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 语句。

于 2012-12-21T11:10:28.720 回答