私はSwift 3でカスタムUITableViewCellを持っています(MyCustomTableViewCellと呼ぼう)。識別子は "CustomCell"です。カスタムUITableViewCellをreuseIdentifierに登録する必要がありますか?
私は再利用のためにそれを登録せず、私のカスタムセルを使用している場合、私はテーブルにアクセスしようとしたとき、私は
override func viewDidLoad() {
super.viewDidLoad()
myUITableViewThatIsIBOutlet.register(MyCustomTableViewCell.self, forCellReuseIdentifier: "CustomCell")
}
を経由して再利用のためにそれを登録しようとした場合、それは
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "CustomCell", for: indexPath) as! MyCustomTableViewCell
return cell
}
で正常に動作します「致命的なエラー:予期せぬことに、オプション値をアンラップしている間にnilが発生する」というメッセージが表示され、カスタムセル内のUILabelsが「致命的なエラーの原因となるもの」として表示されます。
私はカスタムセルを登録するときに間違っているのですか、再利用のためにカスタムセルを登録しないといけないのですか?
登録済みのセル識別子はストーリーボードでもありますか? –
テーブルのセルを手動で登録する必要があるのは、セルがストーリーボード内ではなくxibファイル内に定義されている場合や、完全にプログラムセルがある場合だけです。 –
クラスを介してセルを登録する場合は、すべてのサブビュー自体を作成する必要があります。ストーリーボードやペン先から読み込まれたものはありません。 @ TusharSharma:クラスでの登録はストーリーボードとは関係ありません。 – clemens