如何将图片从plist加载到UITableView?

时间:2010-04-23 06:46:49

标签: cocoa-touch iphone-sdk-3.0 uitableview uiimageview

我已将视频和视频的缩略图存储在Documents文件夹中。我已经在plist中给出了这条道路。在plist我拿了一个数组,然后我在数组中添加了目录。 在字典中我存储了图像路径

/Users/srikanth/Library/Application Support/iPhone Simulator/User/Applications/9E6E8B22-C946-4442-9209-75BB0E924434/Documents/image1  

用于关键imagePath。

视频

/Users/srikanth/Library/Application Support/iPhone Simulator/User/Applications/9E6E8B22-C946-4442-9209-75BB0E924434/Documents/video1.mp4

用于密钥filePath。

我使用了以下代码,但它无效。我只想图像。我需要将图像加载到每个单元格的表格中。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{
    static NSString *CellIdentifier = @"Cell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) 
    {
       cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease];

        [cell setAccessoryType:UITableViewCellAccessoryDetailDisclosureButton];
        UIImageView *image2;
        image2.frame = CGRectMake(0.0f, 0.0f, 80.0f, 80.0f);
        image2.backgroundColor = [UIColor clearColor]; 

    }
    NSDictionary *dictOfplist = [cells objectAtIndex:indexPath.row];
    NSString *path = [dictOfplist objectForKey:@"imagePath"];
    NSLog("path: %@", path);
    return cell;
}  

- (void)viewDidLoad 
{
    [super viewDidLoad];
    self.title = @"Library";
    self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Close" style:UIBarButtonItemStyleBordered target:self action:@selector(close:)];

    NSString* plistPath = [[NSBundle mainBundle] pathForResource:@"details" ofType:@"plist"];
    contentArray = [NSArray arrayWithContentsOfFile:plistPath];

    cells = [[NSMutableArray alloc]initWithCapacity:[contentArray count]];

    for(dCount = 0; dCount < [contentArray count]; dCount++)
        [cells addObject:[contentArray objectAtIndex:dCount]];
}

我得到了图片的路径来自plist  但是,我如何从路径中提取图像 输出od NSLog:是

path: /Users/srikanth/Library/Application Support/iPhone Simulator/User/Applications/9E6E8B22-C946-4442-9209-75BB0E924434/Documents/snook.jpg

如何从中获取图像并存储在cell.imageView.image中? 我怎样才能做到这一点。 谢谢。

1 个答案:

答案 0 :(得分:0)

我在你的代码中看到了一些问题:

  • 在创建UITableViewCell实例时,会创建未分配的UIImageView image2,从而泄漏内存。不正常吗?
  • 您不需要通过标记获取对单元格的UIImageView的引用。 UITableViewCell已经有了一个UIImageView,它的图像可以用cell.imageView.image属性设置。

你在哪里加载UIImage?您说您正在存储图像路径,但没有用于从此路径加载图像的代码。