2010-09-04 8 views
2

J'espère que quelqu'un pourrait suggérer un moyen d'observer automatiquement les changements dans un système de fichiers avec UITableView.Observer automatiquement les modifications du système de fichiers dans UITableView

J'ai un UITableView rempli avec le contenu des fichiers dans mon répertoire. Puis, j'utilise ce tableau dans cellForRowAtIndexPath pour afficher les éléments. Maintenant, si j'ajoute le support pour la suppression des éléments, il y a une étape supplémentaire nécessaire: Je dois à la fois supprimer le fichier physique et mettre à jour mon tableau.

Il doit y avoir un meilleur moyen mais je ne le trouve pas malgré beaucoup de recherches.

Merci!

Répondre

1

Habituellement, cela peut être réalisé par NSWorkspace ... ce qui n'est pas pris en charge sur l'iPhone. Mais puisque personne, sauf vous, ne doit écrire dans votre répertoire de documents, vous pouvez facilement implémenter une solution qui inclut cette "étape supplémentaire". Je ne pense pas que ce soit trop inélégant.

0

Vous pouvez placer NSFileManager dans une classe qui vous est propre et cette classe notifiera votre code via KVO, NSNotification ou un délégué ad-hoc. Une telle classe pourrait être facilement réutilisée à travers différents projets; voici un fragment de l'en-tête d'une telle classe:

@interface FileManagerWrapper : NSObject 
{ 
@private 
    NSFileManager *_fileManager; 
    NSString *_documentsDirectory; 
    id<FileManagerWrapperDelegate> _delegate; 

} 

@property (nonatomic, copy) NSString *documentsDirectory; 
@property (nonatomic, assign) id<FileManagerWrapperDelegate> delegate; 

- (void)removeFile:(NSString *)path; 

@end