とYesNoTableViewCell
の2つのクラスを作成しました。どちらもタイプがUITableViewCell
です。ダイナミックなプロトタイプがそれらに「付属」しています(私が事を間違って言えば、私は言葉には慣れていません)。tableView cellForRowAtがカスタムセルエラーを返す
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
私はfirebaseに接続し、データベースの変数によっては、デキューされた再利用可能なセルを1つ返すか、もう1つを返します。私はこれのためのコードをすべて書きましたが、戻り値は私にエラーを与えます:
Unexpected non-void return value in void function
。すべてのヘルプは大歓迎です
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
self.ref.child("campoutinfo").child("scoutQuestions").child("\(indexPath.row+1)").child("answer").observe(.value, with: { (snapshot) in
if "\(snapshot.value!)" == "1" {
var cell = tableView.dequeueReusableCell(withIdentifier: "yes-no_questionfield", for: indexPath) as! YesNoTableViewCell
return cell
} else if "\(snapshot.value!)" == "2" {
var cell = tableView.dequeueReusableCell(withIdentifier: "number_questionfield", for: indexPath) as! NumberTableViewCell
return cell
}
})
}
:
は、ここに私のコードです。前もって感謝します!
編集:コードのどこかに合わせなければならないことに注意してください。cell.questionLabel.text = "\(snapshot.value!)"
これはどこに属しますか?
**非同期補完ブロック**から何かを返すことはできません。ワークフローを再設計する必要があります。データソース配列を作成し、データソース配列を 'viewDidLoad'に移入してtableviewをリロードします。 – vadian
ありがとう!いったん私が変更を加えたら、すべてが素晴らしく機能しました。ありがとう! –