0

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

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

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

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

但是,如果我尝试从 url 设置它们,我什么也看不到。

这是我的代码:

对于获取数据:

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

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

那么任何人都可以找出这里有什么问题吗?

4

0 回答 0