I have a view in my storyboard which I assigned an identifier called "MainView". However if I add its view to the subview, everything that follows produces a crash (e.g. pressing a button)
MainViewController *mvc = [self.storyboard instantiateViewControllerWithIdentifier:@"MainView"];
[self.view addSubview:mvc.view];
This is the action triggered by the button : (MainViewController.h)
-(IBAction)showUsername:(id)sender{
[testLabel setText:@"username"];
}
and the crash log :
-[MainViewController performSelector:withObject:withObject:]: message sent to deallocated instance 0x44e0810
I use ARC.
Best way to deal with this is using a property. Here's how:
ReplyDeleteIn your .h file:
#import "MainViewController.h"
@interface MyClass : UIViewController
@property (strong, nonatomic) MainViewController *mvc;
@end
In your .m file:
#import "MyClass.h"
@implementation MyClass
@synthesize mvc;
// Your code here
- (void)yourMethodHere {
self.mvc = [self.storyboard instantiateViewControllerWithIdentifier:@"MainView"];
[self.view addSubview:mvc.view];
}