2010-04-23 5 views
2

J'ai stocké les vidéos et les vignettes des vidéos dans le dossier Documents. Et j'ai donné le chemin dans le plist. En plist j'ai pris un tableau et j'ai ajouté des répertoires au tableau. Et dans le dictionnaire que je stockaient le chemin de l'imagecomment charger des images de plist dans UITableView?

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

pour imagePath clé.

pour la vidéo

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

pour filePath clé.

J'ai utilisé le code suivant, mais cela ne fonctionne pas. J'essaie seulement pour les images. J'ai besoin que les images soient chargées dans la table de chaque cellule.

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

J'ai obtenu le chemin des images sont du plist.
Mais, comment puis-je extraire l'image du chemin.
La sortie od NSLog: est

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

Comment puis-je obtenir l'image de celui-ci et stocker dans cell.imageView.image?
Comment puis-je faire ce travail. Merci.

Répondre

0

Je vois quelques problèmes dans votre code:

  • Lorsque vous créez l'instance UITableViewCell, vous créez un UIImageView image2 qui n'est pas affecté et les fuites donc la mémoire. N'est-ce pas normal?
  • Vous n'avez pas besoin d'obtenir une référence à UIImageView de la cellule par balise. Un UITableViewCell a déjà un UIImageView et son image peut être définie avec la propriété cell.imageView.image.

Où chargez-vous l'UIImage? Vous dites que vous stockez le chemin de l'image, mais il n'y a pas de code pour charger l'image à partir de ce chemin.

+0

Je pensais que passer la valeur clé du dictionnaire dans plist donne le chemin. Mon erreur. J'ai stocké le chemin dans le dictionnaire en plist pour la valeur clé imagePath. Comment pouvons-nous obtenir le chemin de la plist dans notre code? Je vais vérifier mon code et le corriger. Merci. –

+0

J'ai obtenu le chemin de l'image. mais comment en tirer l'image? Le chemin est chemin:/Utilisateurs/srikanth/Bibliothèque/Application Support/iPhone Simulator/Utilisateur/Applications/9E6E8B22-C946-4442-9209-75BB0E924434/Documents/snook.jpg Comment afficher l'image snook.jpg depuis le chemin dans la cellule? –

+1

Utilisez la méthode "imageWithContentsOfFile:" de UIImage: UIImage * img = [UIImage imageWithContentsOfFile: path]; –

Questions connexes