转换一行代码以与XCode 4.3中的故事板兼容

时间:2012-03-28 10:20:54

标签: ios xcode storyboard segue

对于IOS项目,我使用MWFeedParser来创建一个RSS阅读器。 我正在使用RSS提要填充tableview,现在想要使用故事板创建该segue。

我似乎无法让它发挥作用。我通常会使用didSelectRowAtIndexPath来推送详细信息视图。

非常感谢帮助。

由于

这就是我通常做的事情:

 #pragma mark -
 #pragma mark Table view delegate

    - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

        // Show detail
        DetailTableViewController *detail = [[DetailTableViewController alloc] initWithStyle:UITableViewStyleGrouped];
        detail.item = (MWFeedItem *)[itemsToDisplay objectAtIndex:indexPath.row];
        [self.navigationController pushViewController:detail animated:YES];
        [detail release];

        // Deselect
        [self.tableView deselectRowAtIndexPath:indexPath animated:YES];

    }

我已经在Stroyboard中连接了我的观点和segue。我对相关segue的标识符为:ShowSelectedFeed

1 个答案:

答案 0 :(得分:0)

您可以创建一个新的Master-Detail-Application并将其用作参考。它完全使用那种模式。

如果您已在故事板中创建了segue,则需要使用prepareForSegue:sender:来传递数据。像这样:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([[segue identifier] isEqualToString:@"showDetail"]) {
        NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
        NSDate *object = [_objects objectAtIndex:indexPath.row];
        [[segue destinationViewController] setDetailItem:object];
    }
}

这直接来自Master-Detail-Application模板。根据您的需要进行调整