2

UITableViewを使用してファイルシステムの変更を自動的に「観察」できる方法を誰かが提案してくれることを願っています。

ディレクトリ内のファイルの内容が取り込まれた UITableView があります。

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];

NSFileManager *manager = [NSFileManager defaultManager];
NSArray *fileList = [manager directoryContentsAtPath:documentsDirectory];

次に、この配列を cellForRowAtIndexPath で使用してアイテムを表示します。ここで、アイテムの削除のサポートを追加する場合、追加の手順が必要になります。物理ファイルを削除し、アレイを更新する必要があります。

もっといい方法があるに違いないのですが、いくら探しても見つかりません。

ありがとう!

4

2 に答える 2

1

通常、これNSWorkspaceはiPhoneではサポートされていない...によって実現できます。しかし、あなた以外の誰もあなたのドキュメントディレクトリに書くべきではないので、あなたはこの「追加された追加のステップ」を含む解決策を簡単に実装することができます。これはあまりエレガントではないと思います。

于 2010-09-04T09:16:45.580 に答える
0

独自のクラスで NSFileManager をラップできます。このクラスは、KVO、NSNotification、またはアドホック デリゲートを介してコードに通知します。このようなクラスは、さまざまなプロジェクトで簡単に再利用できます。このようなクラスのヘッダーの一部を次に示します。

@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
于 2010-09-04T11:03:35.937 に答える