2016-04-20 14 views
0

こんにちは私はuitableviewのセクションに基づいてインデックスパスを取得する方法は?

NSInteger rowNumber = 0; 

    for (NSInteger i = 0; i < indexPath.section; i++) { 
     rowNumber += [self tableView:tableView numberOfRowsInSection:i]; 
    } 

    rowNumber += indexPath.row; 
NSString *messageStatus = [[_messageArray1 objectAtIndex:rowNumber] chatStatus]; 
NSString *messageID1=[[_messageArray1 objectAtIndex:rowNumber] messageID]; 
    NSString *messageString=[[_messageArray1 objectAtIndex:rowNumber] msg]; 

以下のように私の配列を取得したときに私は私のcellForRowAtIndexPathになりました行の数にしてセクションの数のような1つのissue.Myテーブルに直面していますテーブルビューで作業していますが、それは考え断面を示しています2 row 2しかしrownumberでは2しか表示されていませんが、セクション1の行+セクション2の行number.inのように必要な場合は、indexpath.rowにrownumberのように表示されます。 それは、このコードを試してください私に

+0

はインデックスパス構造を反映するネストされた配列を持つデータソースを設計することを検討し – vadian

+0

申し訳ありません私はあなたを取得していない – Bittoo

+0

それはあなたがすべての項目のための1つのフラットな配列を持っているようです。私の提案は、各セクションに1つの配列を使用し、セクション配列を含む基本配列を使用することです(例えば、 'let sectionArray = mainArray [indexPath.section]; let message = sectionArray [indexPath.row] ' – vadian

答えて

0

を助けてくださいacheiveする方法:

NSInteger rowNumber = 0; 

for (NSInteger i = 0; i < indexPath.section; i++) { 
    rowNumber += [self.tableView numberOfRowsInSection:i]; 
} 

rowNumber += indexPath.row; 
+0

私も同じコードを使用していますか? – Bittoo

0

使用このコード:

NSIndexPath *indexPath = [NSIndexPath indexPathForRow:[sender tag] inSection: 
[[sender superview] tag]]; 
+0

ここで私はこのコードを使用していますか? – Bittoo

関連する問題