解析json数组后,nsurl到uimageview不显示

时间:2012-09-11 21:33:03

标签: ios uiimageview

在我的.m文件中,我正在执行以下操作:

我通过网络获取数据并通过解析json数组将它们存储在NSMutable数组中。这些数据是图像网址(图像在我的服务器上),然后我想在我的自定义单元格上设置它们。每个单元格都有2个图像视图。

我正在正确解析数据。 我正确地存储它们。 我可以看到它们的值打印出来,如果我在浏览器中打开它们,它们就是正确的值。

如果在我的单元格中放置了来自我资源的静态图像,我可以看到它们。

但如果我尝试从网址设置它们,我什么都看不到。

这是我的代码:

用于获取数据:

- (void)connectionDidFinishLoading:(NSURLConnection *)connection {
    NSLog(@"connectionDidFinishLoading");
    NSLog(@"Succeeded! Received %d bytes of data",[self.responseData length]);

    // convert to JSON
    NSError *myError = nil;
    NSDictionary* json = [NSJSONSerialization JSONObjectWithData:responseData options:kNilOptions error:&myError];
    images_url= [NSMutableArray new];

    for (NSDictionary *alert in json ){
        NSString* image = [alert  objectForKey:@"image"];
        [images_url addObject:image];

    }
    [self.myTable reloadData];

}

其中myTable是我合成的TableView。

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    int i=[images_url count]/2;
    return i;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *simpleTableIdentifier=@"ListTableCell";
    //this is the identifier of the custom cell
    ListsCell *cell = (ListsCell *)[tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];
    if (cell == nil)
    {
        NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"ListsCell" owner:self options:nil];
        cell = [nib objectAtIndex:0];
    }
    /*NSString *url_left=[images_url objectAtIndex:(indexPath.row*2)];
    NSLog(@"Left url is:%@",url_left);
    NSString *url_right=[images_url objectAtIndex:(indexPath.row*2+1)];
    NSLog(@"Right url is:%@",url_right);*/  THEY ARE PRINTED HERE

    NSURL *url_left=[NSURL URLWithString:[images_url objectAtIndex:(indexPath.row*2)]];
    cell.Left.image=[UIImage imageWithData:[NSData dataWithContentsOfURL:url_left]];
    NSURL *url_right=[NSURL URLWithString:[images_url objectAtIndex:(indexPath.row*2+1)]];



    return cell;
}

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    return 81;
}

如果我删除重新加载数据,那么我会看到他们的值而不是正确的行数,所以这是必要的。

所以有人能在这里找出问题吗?

0 个答案:

没有答案