web-dev-qa-db-ja.com

UITableView、cellForRowAtIndexPathの実行中にどのセクションを知るにはどうすればよいですか?

都市のリストを表示するUITableViewがあります。州ごとに区別したい。配列から適切な項目を選択する方法を理解できないようです。セクション1(アリゾナ州)に2つの都市があり、セクション2(カリフォルニア州)に2つの都市がある場合、cellForRowAtIndexPath、セクション2で、City 1のインデックスは0ですが、配列の3番目の項目です。 City配列をState配列に変換することを考えましたが、各項目にはCitiesの配列が含まれていますが、どのセクションにいるかがわからないので、States配列の下にあるCity配列がわかりませんアクセスする必要があります。

59
James P. Wright

メソッドが呼び出されます

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

Indexpathパラメータには、行とセクションのプロパティが含まれています。

indexPath.section  
indexPath.row

NSIndexPath クラスのドキュメントリンクは次のとおりです。

123

indexPath.sectionおよびindexPath.row

9
Morion

Swift 3、4、4.2

スイッチの使用

switch indexPath.section {
        case 0:
            print("Write your code for section number one.")
        case 1:
            print("Write you code for section number two")
        default:
            return
        }

If if else

if indexPath.section == 0 {
            print("Write your code for section number one.")
        } else if indexPath.section == 1 {
            print("Write your code for section number two.")
        }
0
Akbar Khan