ストーリーボードを通じて提供されるテーブルビューセルには2つのタイプがあり、それらは動的プロトタイプと静的セルです。

1.動的プロトタイプ
名前から、このタイプのセルは動的に生成されます。それらはストーリーボードではなく、コードによって制御されます。テーブルビューのデリゲートとデータソースを利用して、セルの数、セルの高さ、セルのプロトタイプをプログラムで指定できます。
セルをテーブルビューにドラッグすると、セルのプロトタイプが宣言されます。その後、このプロトタイプに基づいて任意の量のセルを作成し、cellForRow
メソッドを介してプログラムによってそれらをテーブルビューに追加できます。これの利点は、すべてのビューを自分で追加してすべてのセルを作成するのではなく、プロトタイプを1つだけ定義する必要があることです(静的セルを参照)。
したがって、この場合、セルプロトタイプのUI要素をビューコントローラーに接続できません。開始されるビューコントローラーオブジェクトは1つだけですが、多くのセルオブジェクトが開始されてテーブルビューに追加される場合があります。1つのビューコントローラー接続では複数のセルを制御できないため、セルプロトタイプをビューコントローラーに接続しても意味がありません。そうするとエラーになります。

この問題を解決するには、プロトタイプラベルをUITableViewCell
オブジェクトに接続する必要があります。A UITableViewCell
もセルのプロトタイプであり、必要な数のセルオブジェクトを開始できます。各オブジェクトは、ストーリーボードテーブルのセルプロトタイプから生成されたビューに接続されます。

最後に、cellForRow
メソッドでUITableViewCell
クラスからカスタムセルを作成し、ラベルを使って楽しいことを行います
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "yourCellIdentifier") as! YourCell
cell.label.text = "it works!"
return cell
}
2.スタティックセル
一方、静的セルは確かにストーリーボードを介して構成されます。それらを作成するには、UI要素をすべてのセルにドラッグする必要があります。ストーリーボードからセルの数、高さなどを制御します。この場合、ストーリーボードから作成したものと比較して、携帯電話からはまったく同じテーブルビューが表示されます。静的セルはページを設定するために使用されることが多く、セルはあまり変更されません。
静的セルのUI要素を制御するには、実際にそれらをビューコントローラーに直接接続して設定する必要があります。
