私はUITableView
を持っています。私のドキュメントディレクトリの内容をリストしています。私はその中にいくつかのzipファイルを持っています。 UITableView
のファイルにタッチすると、対応するzipファイルが解凍され、一時ディレクトリ(NSTemporaryDirectory()
)に展開されます。UINavigationControllerテーブルビューでドリルダウン
問題は、テーブルビューで抽出したコンテンツをナビゲートする方法です。もし、抽出されたzipファイルがフォルダを含んでいるとすれば、それらをtableViewで見ることができるはずです。実際には、フローはドリルダウンのようにすべきです。
私はzipファイルを抽出することができますが、問題は、UITableView
でそれらに移動する必要があります。
これは私のdidSelectRowAtIndexPath:
一部です:
NSString *filePath = //filePath;
if ([[NSFileManager defaultManager]fileExistsAtPath:filePath]) {
NSLog(@"File exists at path: %@",filePath);
} else {
NSLog(@"File does not exists at path: %@", filePath);
}
NSString *tmpDir =NSTemporaryDirectory();
ZipArchive *zip = [[ZipArchive alloc] init];
BOOL result = NO;
if ([zip UnzipOpenFile:filePath]) {
//zip file is there
if ([zip UnzipFileTo:tmpDir overWrite:YES]) {
//unzipped successfully
NSLog(@"Archive unzip Success");
result= YES;
} else {
NSLog(@"Failure To Extract Archive, maybe password?");
}
} else {
NSLog(@"Failure To Open Archive");
}
if ([[NSFileManager defaultManager] fileExistsAtPath:tmpDir isDirectory:&isDir] && isDir) {
NSLog(@"Its Folder");
//Prepare to tableview.
RootViewController *rvController =[[RootViewController alloc]initWithNibName:@"RootViewController"bundle:[NSBundle mainBundle]];
[self.navigationController pushViewController:rvController animated:YES];
}
しかし、これは動作しません。これは、tableView内のドキュメントディレクトリ内の同じ内容をプッシュしています。