NSArray表现出奇怪的目标C.

时间:2013-09-26 02:31:59

标签: ios objective-c

我来自C#背景,现在正在学习目标C. 我最初创建了两个NSArrays 1.optionsLabelArray和2.optionsLabelSubtitleArray,每个元素有两个元素(optionsLabelArray => Yes& No)和optionsLabelSubtitleArray(可接受和动作)。现在需求已经改变,我还要添加一个项目,我就像下面这样做。但它仍然只显示两个元素。 我尝试过使用NSMutableArray,没有运气。看起来这是一个小问题,但无法弄明白......任何想法都将受到赞赏。

- (UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    optionsLabelArray = [[NSArray alloc] initWithObjects:@"Yes", @"No",@"No" ,nil]; // here is problem
    optionsLabelSubtitleArray = [[NSArray alloc] initWithObjects:@"Acceptable",@"Action required",@"No", nil]; // here to

    static NSString *CellIdentifier = @"CheckerCell";
    CustomCell *cell =[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    cell.optionLabel.text = [optionsLabelArray objectAtIndex:indexPath.row];
    cell.optionLabelSubtitle.text = [optionsLabelSubtitleArray objectAtIndex:indexPath.row];

    return cell;
}

2 个答案:

答案 0 :(得分:3)

您需要更新- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section方法的实现以支持更多行。为此,您可能希望有一个实现,其中数组是类的实例变量,或者两个方法之间一致。

答案 1 :(得分:0)

您需要实施以下方法,并在增加细胞计数时返回3

-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section

https://developer.apple.com/library/ios/documentation/uikit/reference/UITableViewDataSource_Protocol/Reference/Reference.html#//apple_ref/occ/intfm/UITableViewDataSource/tableView:numberOfRowsInSection上了解详情: