代码改变世界

IOS学习之路十六(UItableView 通过Prepare for segue 页面传值)

2013-08-21 14:13  Lves Li  阅读(620)  评论(0编辑  收藏  举报

当你点击一个UITableView 的section 或者cell的时候希望把值传到另一个页面(页面是通过segue跳转的),可以通过prepareforsegure 方法传值

(我的UITableView Controller 添加了NavigationController)

示例代码如下:

- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    
    UIViewController *controller;
    if ([segue.destinationViewController isKindOfClass:[UINavigationController class]]) {
        UINavigationController *navController = (UINavigationController *)segue.destinationViewController;
        controller = [navController.viewControllers objectAtIndex:0];
    } else {
        controller = segue.destinationViewController;
    }
    
    if ([controller isKindOfClass:[NewsDetailViewController class]]) {
        NewsDetailViewController *detailController = (NewsDetailViewController *)controller;
        NSIndexPath *selectIndexPath = [self.mainTableView indexPathForSelectedRow];
        //[detailController setDataString:[NSString stringWithFormat:@"%i",selectIndexPath.section]];
        [detailController setDataString:[self.dataArray objectAtIndex:selectIndexPath.section]];
    } else {
        NSAssert(NO, @"Unknown segue. All segues must be handled.");
    }
    
}

原文出处:http://blog.csdn.net/wildcatlele