在两个表视图之间传递数据
Posted
技术标签:
【中文标题】在两个表视图之间传递数据【英文标题】:Passing data between two table views 【发布时间】:2012-06-14 13:58:32 【问题描述】:我想做的是..我想。
在我的根视图控制器中,我使用一个数组,然后为 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 是另一个表视图,所以.. 我正在做的是比较 schedule 的标题来决定 schedule 表视图的内容,但有些它没有获取数据。
这里是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 循环。
任何想法我在这里做错了什么..?
提前感谢您的宝贵时间
【问题讨论】:
您似乎在创建schedule
之前设置了 title
属性。
哇...!!感谢您指出菲利普米尔斯。错过这一点真的很愚蠢。
【参考方案1】:
试试这个。
if ([self.title isEqualToString:@"Show1"])
替换这一行。
if ([ self.navigationItem.title isEqualToString:@"Show1"])
那就试试
【讨论】:
Ayaz: 非常感谢.. 我解决了。在创建计划表视图之前,我错过了使用 self.title 的情况。现在可以正常使用了。【参考方案2】:在分配视图之前添加标题...
【讨论】:
【参考方案3】:在分配控制器后设置标题
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];
希望你能理解
【讨论】:
阿布舍克:是的。在创建计划表视图之前,我使用了 title 属性。它现在工作正常..!非常感谢..! :)以上是关于在两个表视图之间传递数据的主要内容,如果未能解决你的问题,请参考以下文章