在两个表视图之间传递数据

时间:2012-06-14 13:58:33

标签: iphone ios5 uiviewcontroller uitableview

我想要做的是......我想在两个表视图之间传递数据。

在我的根视图控制器中,我使用的是一个数组,然后为RootViewController和

填充它
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

方法我这样做:

if (indexPath.row == 0)
    {
        self.schedule.title = @"Show1";
        NSLog(@"SCHEDULE CONTROLLER TITLE = %@", schedule.title);
        NSLog(@"FIRST ROW ");
    }
    if (indexPath.row == 1) {
        self.schedule.title = @"Show2";
        NSLog(@"SECOND ROW");
    }
    if(indexPath.row == 2){
        self.schedule.title = @"Show3";
        NSLog(@"THIRD ROW");
    }

    schedule = [[ScheduleViewController alloc] initWithNibName:@"ScheduleViewController" bundle:nil];
    [self.navigationController pushViewController:schedule animated:YES];

schedule是另一个表视图所以..我正在做的是比较日程表的titile来决定日程表视图的内容,但是一些如何获取数据。

这是日程视图的ViewDidLoad方法:

 [super viewDidLoad];

    if ([self.title isEqualToString:@"Show1"])
    {
        showSchedule = [[NSArray alloc] initWithObjects:@"SUNDAY",@"MONDAY",@"TUESDAY" , nil];
    }
    if ([self.title isEqualToString:@"Show2"])
    {
        showSchedule = [[NSArray alloc] initWithObjects:@"WEDNESDAY",@"THURSDAY",@"FRIDAY" , nil];
    }else {
        showSchedule = [[NSArray alloc] initWithObjects:@"SATURDAY", nil];
    }

    [self.tableView reloadData];

self.title返回null,因此它会在结尾处进入else循环。  我在这里做错了什么想法..?

感谢您提前的时间

3 个答案:

答案 0 :(得分:2)

试试这个。

if ([self.title isEqualToString:@"Show1"])
     {

替换此行。

if ([ self.navigationItem.title isEqualToString:@"Show1"])
   {

然后尝试

答案 1 :(得分:1)

在分配视图之前添加标题...

答案 2 :(得分:0)

在分配控制器后设置标题

NSString *titleOfTableVC ;

if (indexPath.row == 0)
{
    titleOfTableVC = @"Show1";
    NSLog(@"SCHEDULE CONTROLLER TITLE = %@", titleOfTableVC );
    NSLog(@"FIRST ROW ");
}
if (indexPath.row == 1) {
    titleOfTableVC = @"Show2";
    NSLog(@"SECOND ROW");
}
if(indexPath.row == 2){
    titleOfTableVC = @"Show3";
    NSLog(@"THIRD ROW");
}

schedule = [[ScheduleViewController alloc] initWithNibName:@"ScheduleViewController" bundle:nil];
schedule.title =  titleOfTableVC ;    
[self.navigationController pushViewController:schedule animated:YES];

希望这会让你明白