2016-07-07 11 views
0

3つのセクション(0,1,2)があるUITableViewがあります。セクション0は複数のセルを持つことができますが、セクション1と2は単一の一意のセルしか持たないのです。私が把握することができませんどのような、セクション1、及び2を持っている方法です、そしてそこにそれぞれの細胞は言い換えればセクション0の各セルの後に表示され、私は私のUITableViewは以下のアーキテクチャを持つようにしたい:Swiftを使用してUITableViewの各行の後にセクションを表示する必要があります

Section 0 
row 0 
Section 1 
row 0 
Section 2 
row 0 
Section 0 
row 1 
Section 1 
row 0 
Section 2 
row 0 
Section 0 
row 2 
Section 1 
row 0 
Section 2 
row 0 
... 
and so on. 
現時点で

は、残念ながら、私が代わりに次のようなアーキテクチャを持っている:私は関連性があるかわからないですので

Section 0 
row 0 
row 1 
row 2 
... 
Section 1 
row 0 
Section 2 
row 0 

私は、任意のコードを提供していません。

答えて

1

行とセクションが何であるかを理解するのは非常に簡単です。 UITableViewDataSource方法において

、指定:

  1. セクションごとに1つの行(かかわらず、どのセクションの)エントリ当たりすなわち

    func tableView(tableView: UITableView, numberOfRowsInSection:Int) -> Int 
    { 
        return 1 // All sections have one row 
    } 
    
  2. 1つのセクションのデータモデル/アレイ/などに。複数のセクションを持っているあなたのテーブルビューの最初のセクションにあなたがしたい

    let item = mayArray[indexPath.section] 
    // configure cell using item, and return it 
    
0

:各セルを構成するときに

func numberOfSectionsInTableView(tableView: UITableView) -> Int 
{ 
    return myArray.count // One section per item(row) 
} 

...そして、tableView(_: cellForRowAtIndexPath:)に渡されたTEインデックスパスのセクションを見て残りのセクションにはそれぞれ1つのセルがあります。最初にテーブルビューをIBOutletにコードで張り付けてください。それは、データソース機能

func tableView(tableView: UITableView, numberOfRowsInSection:Int) -> Int 
{ 
if section == 0{ 
return 3 // your value to return rows for 1st section 
}else{ 
return 1 // rest for all sections 
} 
} 

を実装し、あなたが好きなセクションできるだけ多くを取得した後、次に、あなたのクラス宣言に続い

class HomeViewController: UIViewController,UITableViewDataSource,UITableViewDelegate { 

のviewDidLoadで

tableView.delegate = self 
tableView.dataSource = self 

のようにデリゲートやデータソースを持っています

func numberOfSectionsInTableView(tableView: UITableView) -> Int 
{ 
return value // your value to return for number of sections 
} 
関連する問題