iphone - 从 Storyboard 实例化 ViewController 时崩溃

标签 iphone objective-c storyboard

我的 Storyboard 中有一个 View ,我通过执行以下操作将其添加到当前 View 中:

MainViewController *mvc = [self.storyboard instantiateViewControllerWithIdentifier:@"MainController"];
             [self.view addSubview:mvc.view];

storyboard

View 出现,但我在它出现后所做的一切都会导致崩溃。我做错了什么?

这是一个崩溃的例子:

-(IBAction)showUsername:(id)sender{

    [testLabel setText:@"username"];

}

一切都在 Storyboard中 Hook ,所以错误链接的连接应该不会导致问题。

最佳答案

你实例化一个新的 View Controller :

MainViewController *mvc = [self.storyboard instantiateViewControllerWithIdentifier:@"MainController"];

但你不保留它。您的 View 层次结构是,一旦您将它添加到另一个 View 。

[self.view addSubview:mvc.view];

因此,当单击按钮时,将向您发送一条消息 IBAction,但您的 View Controller 已被释放。为防止这种情况发生,请保留您的 mvc 变量,例如在某个属性中。

@property(nonatomic, strong) MainViewController *controller;

self.controller = mvc;

关于iphone - 从 Storyboard 实例化 ViewController 时崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9150811/

相关文章:

ios - 方法 LocationManager :didEnterRegion and LocationManager:didExitRegion is getting called continuously

iphone - Objective-C 类别和新 iVar

iphone - Facebook和Twitter自动共享到用户帐户?

iphone - 卸载存储在 NSUserDefaults 中的值时,是否删除了将它们放在那里的应用程序?

iphone - 基本系统提供的音频单元实现

ios - 如何在 Xcode Storyboard 中平均分配项目空间?

ios - arm64 objectForKey 性能异常?

objective-c - 你如何在 Cocoa/Obj-C 中为 KVC 包装一个 BOOL?

ios - 在layoutSubviews中设置 subview 框架不会持续存在

ios - Xcode Storyboard在添加 segue 后调整 Controller 场景的大小