我真的不知道如何完成这项工作,但我的想法是在第一个视图控制器中,它将有一个包含 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 个项目,我也愿意尝试。