• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:iPhoneアプリの開発についてです。)

iPhoneアプリの開発:UITableViewControllerをaddsubviewで利用する際の問題と解決方法

このQ&Aのポイント
  • UITableViewControllerをaddsubviewするとセルが消えてしまう問題が発生します。
  • addsubviewしたコントローラー上でアラートを表示するとエラーが発生します。
  • 問題の解決方法として、セルの消える問題に関してはテーブルビューのリロードを行うことで解決できます。また、アラートの表示に関してはaddsubviewしたコントローラーのviewに対してアラートを表示する必要があります。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

> セルのラベルに文字列もでるんですがテーブルビューを動かす途端セルが消えてしまいます。 生成したAddTableViewControllerをどこかに保持していますか? addViewというローカル変数に入れただけだと、 そのメソッドが終了した時点でAddTableViewControllerを 保持している変数がなくなるので自動的にAddTableViewController のインスタンスは削除されてしまいます。 (tableViewはaddSubviewされているので、その部分だけ残ります) おそらく、addSubview直後の時点ではAddTableViewController が存在しているため、正しくテーブル表示されますが、 その後すぐにAddTableViewControllerが削除されてしまうため、 後でテーブルスクロールさせたりする時に再表示する処理がなくて セルの内容表示が消えてしまうのではないかと思います。 RootDirViewControllerかAppDelegateのプロパティで AddTableViewControllerを保持しておけばよいと思います。 > addView上でアラートを表示しようとするとエラーになるのはなぜなんでしょうか? こちらは意味がよくわかりませんでしたが、 addViewのインスタンスがすぐに削除されているなら、そのあたりの影響の 可能性があると思います。 AddTableViewControllerの保持が問題なくても解決しないようなら、 もっと具体的にどのようなコーディングをしてどのような操作をすると どのようなエラーメッセージが出たのかを補足してください。

nylonraw999
質問者

お礼

おっしゃる通り、インスタンスのタイミングが原因でした。 ありがとうございました。