/*
segue就是我们在storyBoard中给各个视图控制器连线的控件,当控制器之间按照segue连接的方式做视图切换的时候,
这个方法就会被调用,参数segue就是连接两个可切换控制器的那条线(对象)
*/
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
// 我们可以通过参数segue找到被其连接的前后两个对象
// 获取上一级视图控制器对象
UIViewController* preView = segue.sourceViewController;
// 获取下一级视图控制器对象
UIViewController* nextVC = segue.destinationViewController;
/*
参数sender就是当前我们选中的那个控件,这里我们是选中单元格触发的视图切换,所以sender保存的就是被击中那个cell的地址
*/
UITableViewCell* cell = (UITableViewCell*)sender;
_tagtag = cell.tag;//保存,用于数据回传
UILabel* label = (UILabel*)[cell viewWithTag:99];
NSString* message = label.text;// 获取当前选中行的内容
// 传递到下一级视图,因为无法确定下一级视图的类型,所以采用KVC传值
if ([nextVC respondsToSelector:@selector(setTempString:)]) {
[nextVC setValue:message forKey:@"tempString"];
}
}
//每次从后一页翻回来的时候调用一次(通知中心传值)
- (void)changeTitle:(NSNotification*)nofi
{
NSString* str = [nofi object];
if (![str isEqualToString:[self.datasource objectAtIndex:_tagtag-1]]) {
[self.datasource replaceObjectAtIndex:_tagtag-1 withObject:str];
[self.tableView reloadData];
NSLog(@"%@",[self.datasource objectAtIndex:_tagtag]);
}
NSLog(@"观察者");
}
本文详细介绍了在Swift中如何使用segue实现视图间的切换,包括如何通过segue找到前后两个视图控制器对象,并演示了如何将数据从前一个视图传递到下一个视图,以及如何在返回时更新数据。
504

被折叠的 条评论
为什么被折叠?



