私はあなたのデータソースを知っていませんが、あなたはこのような何かを行うことができます:
class MyTableViewController: UITableViewController {
override func viewDidLoad() {
super.viewDidLoad()
}
// MARK: - Table view data source
override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 3
}
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 7
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
var cell:UITableViewCell?
if indexPath.row % 3 == 0
{
// this is a "MainCell"
cell = tableView.dequeueReusableCellWithIdentifier("MainCell", forIndexPath: indexPath)
}
else
{
// this is a "DetailCell"
cell = tableView.dequeueReusableCellWithIdentifier("DetailCell", forIndexPath: indexPath)
}
return cell!
}
override func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
let cell = tableView.dequeueReusableHeaderFooterViewWithIdentifier("HeaderCell")
return cell
}
}
ストーリーボードは表さ複数の細胞型を持っているでしょう:
結果は
です。
辞書のサイズが3の場合、辞書の各キーにはモデルの配列が含まれ、各モデルにはセルに関連するすべてのフィールドが含まれ、行を含むタイプの追加プロパティを持ちますそれがメインかディテールかをタイプします。セクションの行数では、単にディクショナリセクション内の配列を取得し、この配列の数を返します –