0

以下はコードであり、終わりに向かって、セクションの行数をカウントする方法を理解しようとしています

NSオブジェクト定義
//DataDefinition.h#import

@interface DataDefinition : NSObject
@property (nonatomic, retain) NSString *dataHeader;
@property (nonatomic, retain) NSMutableArray *dataDetails;

@end

ディスプレイヘッダーセクション//DataDisplay.h#import

#import "DataDefinition.h"

@interface DataDisplay : UITableViewController
@property (read write) NSInteger RowsCount;
@property (strong, nonatomic) NSMutableArray *dataSet;
@property (strong, atomic) DataDefinition *individualData;

@end

ディスプレイ実装セクション

//DataDisplay.m

 @interface DataDisplay ()
 @end

 @implementation DataDisplay
 @synthesize RowsCount;
 @synthesize dataSet;
 @synthesize individualData;

- (void)viewDidLoad
{

    [super viewDidLoad];

    individualData.dataHeader  = @"Header1";
    individualData.dataDetails = [[NSMutableArray alloc] initWithObjects:@"Header1-Detail1", @"Header1-Detail2", @"Header1-Detail3", nil];
    RowsCount = [individualData.dataDetails count];
    [dataSet addObject:individualData];
    .
    .
    . 
    [dataSet addObject:individualData];   

    self.title = @"DataDisplay";
}

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    // Return the number of sections.
    return [dataSet count];
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    // Return the number of rows in sections.
    return ?????
} 
4

1 に答える 1

0

まず、表示するデータセットにセクションがない場合は、このメソッドを実装する必要はありません。それ以外の場合は、配列の配列となるNSMutableArrayにデータを保存する必要があります。これにより、基本的にセクションごとにコンテンツが保存されます。

次に、次のようにセクションごとのアイテム数へのアクセスを想像できます。

[[self.yourarray objectAtIndex:section] count];

編集

あなたのソースコードによると、議論からあなたのコードは次のようになります:

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    // Return the number of rows in sections.
    return [((DataDefinition*)[self.dataSet objectAtIndex:section]).dataDetails count] 
} 
于 2012-08-25T21:16:24.883 に答える