Ale*_*exR 2 objective-c uiviewcontroller uisplitviewcontroller ios ios8
我使用Xcode 6的Master Detail Application模板创建了一个新的iOS 8项目.我没有以任何方式更改代码.
在设置断点DetailViewController.m并检查self.splitViewController属性时,如下面的屏幕截图所示,它将返回nil.

这是为什么?
根据Apple UISplitViewController 文档,self.splitViewController应该返回最近的SplitViewController:
如果接收器或其祖先之一是拆分视图控制器的子级,则此属性包含拥有的拆分视图控制器.如果视图控制器未嵌入拆分视图控制器中,则此属性为nil.
不知道你是否想过这个问题,但我只是遇到了这个问题并发现了什么错误,看起来和你的情况类似.
直到viewDidLoad之后才会配置splitViewController属性.如果意外使用它的代码在viewDidLoad之前被触发,那么该值将为nil.
我在你的代码示例中注意到configureView是从setDetailItem调用的.如果这是从prepareForSegue调用的,那么viewDidLoad将不会发生,导致configureView中的splitViewController属性值为nil.所以代码必须在[super viewDidLoad]完成之后运行.
| 归档时间: |
|
| 查看次数: |
862 次 |
| 最近记录: |