2017-03-08 9 views
-5

Swiftを使用してiOS用のアプリケーションを作成しようとしていますが、非常に基本的な問題があります。iOSでSwiftを使用して簡単なテーブルビューとデータをロードする方法

これを単純にしておくと、最初はアプリケーションが最初に単一のビューアプリケーションになり、ボタンとある種のリストビューがページに表示されます。私はTableViewがここで推奨されていると信じています。ボタンをクリックすると、リスト/テーブルビューにいくつかのエントリを挿入するだけです。それだけです。まず、これらのエントリがハードコーディングされているかどうかは気にしません。ただ何か作業をしたいだけです。

私はさまざまなサンプルを見てきましたが、混乱しています。それらのうちのいくつかは、TableViewControllerを使用することを示唆しているようです。私が作成したUIは、tableviewコントローラを使用すると、空のtableviewリストに完全に置き換えられ、ボタンは消えてしまったようです。

以前私はWindows Phoneでアプリを開発していましたが、それはずっと簡単でした。私はちょうどlistviewオブジェクトを追加し、ボタンのクリックメソッドでは、項目をプログラムで追加するなどですが、これは初めてのiOSアプリケーションを作成しようとすると、はるかに混乱しているようです。非常に単純なことをするためには、一見必要なデリゲート、コントローラ、ビューがあります。

誰かに、アプリケーションにテーブルビューを追加し、ボタンをクリックすることでデータを読み込む方法について、基本的な手順をステップごとに教えてもらえますか?

+2

テーブルビューコントローラは、すべてのtableviewデリゲートとデータソースメソッドが設定されたUIViewコントローラです。テーブルビューはコントローラのないビューで、設定が難しいです。それが何を意味するのかわからない場合は、この質問を閉じてください(あなたはすでに投票を受けています)、そしてGoogleの "UITableViewController tutorial"です。申し訳ありませんが、「基本」はここでは教えるには広すぎます。 – dylanthelion

+0

希望[この文書](http://stackoverflow.com/documentation/ios/791/uitableview/2718/basic-table-view-example#t=201703082022407393333)が役立ちます。 –

+1

iOS/macOS開発が初めての方は、チュートリアルに従ってください。フレームワークの使い方は明白で簡単になります。私はiTunesU(Stanfordから)で無料の 'Developing iOS 9 Apps Swift'をお勧めしますが、インターネット上には何百(おそらく何千もの?)のチュートリアルがあります。 –

答えて

0

ビューとビューコントローラの違いを明確にしてください。

iOSはMVCデザインパターン(モデルビューコントローラ)を使用します。

  • ビューオブジェクトは、コンテンツをユーザーに表示し、ユーザーの対話に応答します。

  • モデルオブジェクトは状態データを格納します。

  • コントローラオブジェクトは、アプリケーションロジックを駆動し、モデルとビューを調整します。

UITableViewControllerは、テーブルビューを管理する仕事であるUIViewControllerの特別なサブクラスです。それはテーブルビューを管理するための良い選択肢になりますが、いくつかの特別なサポートがありますが、そこには厄介なことが1つあります。それは管理できる唯一のビューがテーブルビューであるように設計されています。ボタンビュー、ラベル、およびその他のUI要素を画面に追加する場合は、UITableViewControllerを使用することはできません。

通常は、テーブルビューコントローラを作成し、別の通常のビューコントローラを作成し、コンテナビューを通常のビューコントローラに追加し、埋め込みセグを使用してビュー内にテーブルビューコントローラを埋め込みますコントローラ。 (コンテナビューからテーブルビューコントローラーにドラッグするだけでコントロールできます)。そのようにすれば、両方の世界のベストを得ることができます。テーブルビューコントローラが親ビューコントローラと通信するために使用するプロトコルを作成することができます。

コンテナビューと埋め込みセグを使用して、別のビューコントローラの子としてテーブルビューコントローラを設定する方法についてオンラインでチュートリアルを見つけることができます。それは非常に簡単です。

関連する問題