gpt4 book ai didi

iphone - 即使设置了委托(delegate),UITableView 也没有响应 didSelectRowAtIndexPath

转载 作者:行者123 更新时间:2023-12-01 16:59:10 24 4
gpt4 key购买 nike

首先,我对 iOS 开发完全陌生,所以我希望有一种更简单的方法来做事。

我正在使用 iOS 5 Storyboard来创建动态生成的问题 View 。我正在尝试将 UITableViewController 嵌入到 UIViewController 中,这样我就可以定义不同类型的问题,但使用相同的基本模板。该代码有效,但是当我尝试选择一个单元格时,didSelectRowAtIndexPath 永远不会被触发。我检查了数据源和委托(delegate),它们都设置为正确的 Controller 。我的嵌入代码是:

CGRect questionViewRect = self.QuestionContentView.bounds;
UIViewController<QuestionViewProtocol>* questionView = [[UIStoryboard storyboardWithName:@"MainStoryboard" bundle:NULL] instantiateViewControllerWithIdentifier:@"MultipleChoiceQuestion"];
[questionView.view setFrame:questionViewRect];
[self.QuestionContentView addSubview:questionView.view];

我再次这样做是因为我真的很喜欢 Storyboard,但我想动态地将表格 View 更改为其他内容以解决不同类型的问题。谢谢你的帮助!

这是我的 Storyboard的屏幕截图。我将右侧 Controller 的 View 嵌入到左侧 Controller 的 subview 中。

enter image description here

最佳答案

所以我想通了。问题是我的 subview 的 Controller 正在一个方法中实例化并分配给一个本地变量。这意味着它没有被保留,所以当表格 View 稍后尝试访问它时,它得到的只是一个 nil 指针。在 Objective-c 中,nil 指针的方法只返回 nil,因此程序不会崩溃。在我添加一个指向主 Controller 类的强指针并将该 Controller 设置为实例化的子 Controller 之后,它工作得很好。

关于iphone - 即使设置了委托(delegate),UITableView 也没有响应 didSelectRowAtIndexPath,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8682464/

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