0

我真的不知道如何完成这项工作,但我的想法是在第一个视图控制器中,它将有一个包含 6 个项目的数组。单击任何表格视图单元格后,该特定单元格将被删除,下一个控制器将显示剩余的 5 个项目。

在 FirstController .m

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    UIStoryboard *sb = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
    SecondController *sc = [sb instantiateViewControllerWithIdentifier:@"SecondController"];
    filteredFive = [[NSMutableArray alloc] init];

    // I only display two of it here as it will be very lengthy
    if ([[totalItems objectAtIndex:indexPath.row] isEqual:@"ONE"]) {
        [filteredFive addObject:@"TWO"];
        [filteredFive addObject:@"THREE"];
        [filteredFive addObject:@"FOUR"];
        [filteredFive addObject:@"FIVE"];
        [filteredFive addObject:@"SIX"];
    }

    if ([[totalItems objectAtIndex:indexPath.row] isEqual:@"TWO"]) {
        [filteredFive addObject:@"ONE"];
        [filteredFive addObject:@"THREE"];
        [filteredFive addObject:@"FOUR"];
        [filteredFive addObject:@"FIVE"];
        [filteredFive addObject:@"SIX"];
    }
    [self.navigationController pushViewController:sc animated:NO];
    // this is the part I am trying to transfer the array filteredFive into SecondController's array
    sc.fiveItems = filteredFive;

然后在 SecondController.h

@interface SecondController : UIViewController <UITableViewDelegate, UITableViewDataSource> {
    NSMutableArray *fiveItems;
}
@property (weak, nonatomic) IBOutlet UITableView *secondTable;
@property (nonatomic, retain) NSMutableArray *fiveItems;

@end

第二控制器.m

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
    return 1;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return [fiveItems count];
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"Cell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    if (!cell) {
        cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier];
    }

    cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier];
    cell.textLabel.text = [fiveCourses objectAtIndex:indexPath.row];

    cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
    return cell;
}

我想知道我的代码中是否存在不允许显示数据的错误。是不是我未能将阵列从一个转移到另一个?还是我错过了一些代码,因此代码没有显示在 SecondController 中?

如果还有其他方法可以显示剩余的 5 个项目,我也愿意尝试。

4

0 回答 0