2

AQGridviewとアップルが提供するDocInteractionサンプルを使用すると、アプリ バンドル内のファイルと、アプリのドキュメント ディレクトリ内の iTunes 経由で提供されるファイルをグリッド形式で表すことができます (当然)。iPad を接続して iTunes 経由でファイルを追加すると問題なく追加されますが、アプリを開いたまま iTunes からファイルを削除しても、グリッドまたはアレイからファイルが削除されません。ファイルをタップしてもエラーは発生せず、空または空白のファイルを開くだけです。項目が iTunes (またはドキュメント ディレクトリ) にも存在しない場合、foreach または forin ループを使用して項目を配列から削除するにはどうすればよいですか (最終的にはそれが答えになることがわかっているため)。

編集: AQGridView のコンテキストでは、私のコードはドキュメント ディレクトリの変更を検出し、オブジェクトの NSMutableArray を更新していますが、変更がグリッドに反映されていません。この場合、 [self.gridView deleteItemsAtIndices:<#(NSIndexSet *)#> withAnimation:<#(AQGridViewItemAnimation)#>];この方法は機能しないようです。

4

1 に答える 1

2

あなたの NSArray は NSStrings としてパスで満たされていると仮定します。

NSArray *existingPaths = [paths filteredArrayUsingPredicate:[NSPredicate predicateWithBlock:^BOOL(NSString *path, NSDictionary *bindings){
    return [[NSFileManager defaultManager] fileExistsAtPath:path];
}]];
于 2011-11-23T23:26:28.633 に答える