• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ios - addChildViewController 给出 NSException 错误?

[复制链接]
菜鸟教程小白 发表于 2022-12-12 10:14:11 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我不熟悉使用这种方法,所以我可能完全错误,所以这是我的代码:

@property (nonatomic, weak) ConverterViewController *converterViewController;
@property (nonatomic, weak) CalculatorViewController *calculatorViewController;

如果我正确理解了这段代码,这些代码就是对两个不同 ViewController 的引用。

然后我的 viewDidAppear 方法中有这个:

[self addChildViewController:_converterViewController];
[_converterViewController didMoveToParentViewController:self];
[self.view addSubview:_converterViewController.view];

当我尝试将其添加为 subview Controller 时,我在第一行得到一个 NSException。所以不知道这是否应该在我的 ConverterViewController 类中调用一些方法,我在该类中放置了一些断点 initWithNibName 和 viewDidLoad 方法,我发现这些方法都没有被调用,所以我不完全确定出了什么问题。再说一次,我不太确定会出现什么问题,因此非常感谢任何帮助。

这就是我从控制台得到的全部信息:

libc++abi.dylib: terminating with uncaught exception of type NSException



Best Answer-推荐答案


更新答案:

[self addChildViewController:_converterViewController]; 不会创建 converterViewController
它只需要 converterViewController 对象并将其作为 childViewController 添加到 self

您需要在 -addChildViewController: 之前分配内存并实例化对象 converterViewController 否则它的值将是 nil 并且什么都不会发生.

所以...这样的事情:

_converterViewController = [[ConverterViewController alloc] initWithNibName"ConverterViewController"
                                                                     bundle:nil];

//now... adding it as childViewController should work
[self addChildViewController:_converterViewController];
[_converterViewController didMoveToParentViewController:self];
//optional: give it a frame explicitly so you may arrange more childViewControllers
//[_converterViewController.view setFrame:CGRectMake(0,0,100,100)];
[self.view addSubview:_converterViewController.view];

关于ios - addChildViewController 给出 NSException 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23982965/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap