UITableViewControllerとUIViewControllerの違いは何ですか?
UItableViewControllerとUIViewControllerは、iOSUIKitフレームワークの2つの異なるオブジェクトです。どちらも異なる目的で使用されます。
UIViewControllerクラスは、そのViewコントローラー内で発生するアクションを担当するViewContollerを管理します。このクラスは、ViewDidLoad、ViewWillApper、ViewDidAppear、ViewWillDisapper、ViewDidDisapperなどのViewControllerで発生するアクションを認識します。
一方、UITableViewControllerはテーブル、そのデータ、およびUITableViewDataSource、UITableViewDelegateを使用したイベントの管理を担当します。
UITableViewControllerは、UIViewController、UITableViewDataSource、およびUITableViewDelegateに準拠して、テーブルビューを実装します。
以下は、UIViewControllerを実装するクラスの例です。
class ViewController : UIViewController { @IBOutlet weak var sampleView: UIView! override func viewDidLoad() { } }をオーバーライドします
UITableViewControllerもUIViewControllerに準拠しているため、UIViewControllerのメソッドを実装できます。 UITableViewControllerは主に、そのViewControllerにテーブルビュー以外のコンテンツがない場合に使用されます。
ビューコントローラにtableViewとともに他のコンテンツがある場合、ほとんどの場合、UIViewControllerに準拠し、UITableViewDataSourceであるテーブルビューのプロトコルを実装して、そのテーブルにデータのソースを割り当て、UITableViewDelegateでそのテーブルビューのイベントを処理します。
UITableViewDataSourceまたはUITableViewDelegateを実装するUIViewControllerの例は
です。class ViewController : UIViewController, UITableViewDataSource, UITableViewDelegate { override func viewDidLoad() { } func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) −> Int { // } func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) −> UITableViewCell { // } }
上記とは別に、以下に説明するテーブルビューのその他のプロパティがいくつかあります。
-
テーブルビューが表示されようとすると、データが再読み込みされます。
-
テーブルビューは、表示されるときにデフォルトで選択をクリアします。
-
テーブルビューが画面に表示されると、スクロールインジケーターが点滅します。これは、viewDidAppear()メソッド内で実行されます。
-
Androidのgravityとlayout_gravityの違いは何ですか?
Androidはgravityとlayout_gravityの両方をサポートしています。重力はビューの位置を調整します。重力を使用して、以下に示すようにビューの位置合わせを行うことができます。 <TextView android:id = "@+id/button" android:layout_width = "match_parent" android:layout_height = "wrap_content" andr
-
AndroidのonCreate()とonStart()の違いは何ですか?
この例は、AndroidのonCreate()とonStart()の違いを示しています。 注- onCreate()は、アクティビティが最初に作成されたときに呼び出されます。 onStart()は、アクティビティがユーザーに表示されるようになると呼び出されます。 ステップ1 − Android Studioで新しいプロジェクトを作成し、[ファイル]⇒[新しいプロジェクト]に移動して、新しいプロジェクトを作成するために必要なすべての詳細を入力します。 ステップ2 −次のコードをres / layout/activity_main.xmlに追加します。 <?xml versio