gpt4 book ai didi

uiviewcontroller - 在Segue中如何从 View Controller 引用tableView

转载 作者:行者123 更新时间:2023-12-04 03:33:54 25 4
gpt4 key购买 nike

我是iOS开发的新手,所以请对我轻松一点:)

使用适用于iOS 5的Xcode 4.2,我在IB中构建了一个 View Controller ,其中的tableview通过push segue(在表 View 单元级别)链接到了详细 View Controller 。

我想根据所选单元格的索引,使用来自我的数据源的数据设置详细页面标签。最初,我对“didSelectRowAtIndexPath”进行了编码,只是为了找出在segue处理之后调用了它,并发现我需要调用prepareForSegue来代替

我的问题是,无论我尝试什么,因为tableView都不是prepareForSegue的传递参数(与到目前为止我所使用的大多数其他方法不同),我正努力在 View Controller 中访问tableView以便调用indexPath方法,这样我就可以引用我的数据源

我已经看到许多使用self的示例,如下所示,但这会导致错误,指出viewView在 View Controller 中不存在

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {

NSIndexPath *selectedIndexPath = [self.tableView indexPathForSelectedRow];
DetailViewController *detail = [segue destinationViewController];
detail.primary = [datasource objectAtIndex:selectedIndexPath.row];
detail.seconday = [datalist objectForKey:detail.primary];
}

我也尝试过使用
ViewController *main = [segue viewController];

而不是使用自我,但这会导致相同的问题

我知道我可以将示例改写为Table View Controller,但想知道是否可以这种方式?如我所见,人们在开发中同时使用两种方法

作为引用,我正在关注本教程... http://kurrytran.blogspot.com/2011/10/ios-5-storyboard-and.html

当我进入完成详细信息页面的部分时,我想,为什么不使用segue将表 View 单元格链接到详细信息页面,并在显示详细信息页面之前编写状态和资本的复制代码。从本教程可以看到,主 Controller 是 View Controller

我的理解是,如果以后需要将其开发成更复杂的东西,则不使用UITableViewController可以为任何应用程序提供更大的灵活性。

希望您能提供帮助,
伊兹

最佳答案

我也是iOS的新手,但值得:

听起来您需要在UIViewControllerClass中创建一个指向表 View 对象的指针。

@interface YourClass : UIViewController
{
IBOutlet UITableView *MyTableView;
}
@property ... IBOutlet UITableView *MyTableView;

...然后将其连接到IB中的“表格 View ”。这样,您就可以在prepareForSegue中访问UITableView对象。
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
NSIndexPath *selectedIndexPath = [self.MyTableView indexPathForSelectedRow];
...
}

关于uiviewcontroller - 在Segue中如何从 View Controller 引用tableView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7931116/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com