私は幸運なことなくしばらく探してきました。私はセクションを持つUITableViewでView Controllerの例を見つけようとしています。私が見てきた例はすべて、テーブルビューの内容を制御する同じビュー内にボタンが必要なため、使用できないテーブルビューコントローラを扱っています。誰もが例を持っている、例を知っている、あるいはそのような実装を考えている人はいますか?ありがとう。私は、ビューコントローラのテーブルビューを持っているSwift View Controller with UITableViewセクション
編集
、API呼び出しからデータを取得し、構造体の配列にセクションとデータを分離。私はそれをテーブルビューにバインドするために送信します。そうすること
を投げる[UIViewのにtableView:numberOfRowsInSection:]:認識されていないセレクタはインスタンスに
を送ったが、問題がどこにあるか私は理解していません。 tablview
//MARK: Tableview delegates
func numberOfSectionsInTableView(tableView: UITableView) -> Int {
if let count = incidentDataSection?.count{
return count
}
return 0
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
if (incidentDataSection?.count)! > 0{
return incidentDataSection![section].incidents.count
}
return 0
}
func tableView(tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
return incidentDataSection?[section].title
}
/*
func tableView(tableView: UITableView, iconForHeaderInSection section: Int) -> UIImage? {
return incidentDataSection?[section].icon
}*/
//if clicked, will openn details view passing in the details
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
//let incidentDetails = incidentData?[indexPath.row]
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
if let section = incidentDataSection?[indexPath.section] {
let cell = tableView.dequeueReusableCell(withIdentifier: "IncidentTableViewCell") as! IncidentTableViewCell
cell.roadNameLabel.text = section.incidents[indexPath.row].RoadWay
cell.whenLabel.text = section.incidents[indexPath.row].DateCreated
cell.statusLabel.text = section.incidents[indexPath.row].DateCleared
return cell
}
return UITableViewCell()
}
incidentDataSectionため
コードは、セクションタイトルと異なる項目を有する構造体の配列です。私はいくつかのかなり良いフィードバックを受けたものの
回答
は、原因が実際にタイプミスでした。よく見ると
func tableView(tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
return incidentDataSection?[section].title
}
あなたは、tableView:の前にアンダースコアがないことに気付くでしょう。何が起こっていたのかは、データソースとデリゲートが即座にコールの異なるプロトコルを使用している場合と使用していない場合の関数をスキップしていたことです。このlinkのおかげで、原因を突き止めることができました。これについて言及することを忘れて、私の悪いことはSwift 3にあった。誰もが時間を節約できたかもしれない。
ビューコントローラにテーブルビューを追加する方法は知っていますか?一度それを行うと、セクションを持つかどうかは、ビューコントローラでもテーブルビューコントローラでも同じです。 – rmaddy
はい、私はそれは単なるリストですが、私はセクションで動作するように挑戦に走っているときにテーブルビューを行って問題はありません。 –
あなたの質問をあなたが試したことで更新してください。あなたのセクションを動かそうとしている問題を明確に説明してください。 – rmaddy