※ ChatGPTを利用し、要約された質問です(原文:iPhoneアプリの開発についてです。)
iPhoneアプリ開発:ディレクトリ階層の管理とテーブルビュー表示について
このQ&Aのポイント
iPhoneアプリ開発時のディレクトリ階層の管理とテーブルビュー表示において問題が生じています。
ディレクトリ間の戻るボタンの検知について、ルートフォルダから次のフォルダに進む分には問題ありませんが、次のフォルダからさらに次のフォルダに戻るときに問題が発生しています。
UITableViewControllerを使用して複数のコントローラーを使用せずにテーブルビューにディレクトリの内容を表示していますが、次のフォルダから次のフォルダに戻るボタンの検知方法がわかりません。
iPhoneアプリにディレクトリ階層を管理し、テーブルビューに表示する機能を実装中です。
パスの後ろに、"/○○○(ディレクトリ名)"という文字列を足して指定のディレクトリのパスを取得し中のファイルやフォルダの一覧を取得するという手法を用いています。
次のディレクトリに進む分には問題ないのですが、元のフォルダに戻るときに問題が生じてしまいます。
セルをタップすることで元のパスの後ろに選択したフォルダの名前を足していますが、ナビゲーションコントローラーで戻る際にパスの後ろに足されたフォルダ名を取り除かなくてはなりません。
もちろん戻るボタンが押されたことを検知するコードを調べたのですが、
-(void) viewWillDisappear:(BOOL)animated {
if ([self.navigationController.viewControllers indexOfObject:self]==NSNotFound) {
//ここでパスから文字列を取り除く
}
[super viewWillDisappear:animated];
}
これではルートフォルダ→次のフォルダの間でしか検知されません。僕がやりたいのはルートフォルダ→次のフォルダ→次のフォルダ→・・・とすべてのフォルダ間の戻るボタンの検知をしたいのです。
didSelectRowAtIndexPathメソッドに
UITableViewController *nextDir = [[UITableViewController alloc] init];
nextDir.tableView.delegate = self;
nextDir.tableVIew.dataSourse = self;
と記述することで、ストーリーボードにいくつもコントローラーを置かずにテーブルビューにディレクトリの内容を表示しています。
自前のコントローラー→nextDir間の戻るボタン検知は先ほど乗せたコードで検知できましたが、nextDir→nextDir間の戻るボタン検知はどうすればいいでしょうか?
簡単ですが説明図を作ってみました。わかりにくかったらすみません。
お礼
再び回答ありがとうございます。 自分でも混乱していたのですがおかげでなんとか解決しました。