2011-04-26 13 views
1

どのように私はテーブルビューでセクションを分割できますか?以下、ここで小さな例私は分割しようとしたコードが、セクションを取得することができません。..UITableViewでセクションを分割するにはどうすればよいですか?

#import "ipapbatch3ViewController.h" 

@implementation ipapbatch3ViewController  

- (NSInteger)tableView:(UITableView *)table numberOfRowsInSection:(NSInteger)section 
{ 
    NSInteger numberofrows=5;  
    return numberofrows; 

} 

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath  
{ 
    NSArray *a = [NSArray arrayWithObjects:@"rams",@"balu",@"praveen",@"sagar",@"faizan",nil];  
    UITableViewCell * r = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:nil];  
    [r autorelease]; 

    r.textLabel.text=[a objectAtIndex:[indexPath row]]; 

         return r; 
         } 
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView  
{  
    NSInteger sc = 2;  
    return sc;  

}  




@end 

答えて

3

それはcellForRowAtIndexPathですべてですですされています。上記のコードで

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath  
{ 
    UITableViewCell * r = [[[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:nil] autorelease]; 

    if (indexPath.section == 0) { 
     NSArray *a = [NSArray arrayWithObjects:@"a",@"b",@"c",@"d",@"e",nil];  
     r.textLabel.text = [a objectAtIndex:indexPath.row]; 

    } else { 
     NSArray *b = [NSArray arrayWithObjects:@"1",@"2",@"3",@"4",@"5",nil];  
     r.textLabel.text = [b objectAtIndex:indexPath.row]; 

    } 

    return r; 
} 
+0

まあの例では、セクションにテーブルを分割する方法を示していますが、それは悪いメモリ管理です。オートレリースされた配列を大量に作成します。これらの配列は一度作成してdeallocで解放する必要があります。 – Cyprian

+1

@キプロス、OPはセクションで分ける方法を尋ねました、私は彼のコードを採用しました。私はあなたがオートレリースされたオブジェクトが何かを理解していないと思う。オートレリースされたオブジェクトを所有していない限り、それらを保持しないので、どこにも解放しません。 –

+0

@Nick Weaverあなたが私のコメントを正しく読めば、私はあなたが明示的にinitでそれを作成するならば、あなたが配列を解放すると言います。コードがぎこちないコードを修正すると、後で多くの質問をするので、良い方向に向けるのが良いでしょう。 – Cyprian

0

あなたの主な問題は、ということですあなたは新しいセルを挿入するセクションを決して知らないので、それらはすべて最初のセクションに入りました。 cellForRowAtIndexPathメソッドを見て、新しく作成されたセルが特定のセクションに移動するように指定する必要があります。

Go through those example programs provided by apple.

+0

あなたのアドバイスをいただきありがとうございました。私は問題が何であるかを理解しました。 –

+0

@toddler in objective-c:問題を解決した場合は、この投稿を書き込み回答としてマークしてください。 –

関連する問題