首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IOS: presentmodalviewcontroller发布

IOS: presentmodalviewcontroller发布
EN

Stack Overflow用户
提问于 2012-01-20 16:25:06
回答 1查看 707关注 0票数 0

我使用这个代码打开一个视图控制器

代码语言:javascript
复制
self.secondViewController = [[SecondViewController alloc]initWithNibName:@"SecondViewController" bundle:nil];
[self presentModalViewController:self.secondViewController animated:YES];

[self.secondViewController release];

但是,如果我在第二次调用此代码时使用[self.secondViewController release];,它会崩溃,因为

代码语言:javascript
复制
[FirstViewController performSelector:withObject:withObject:]: message sent to deallocated instance 0x18a890

如果我不使用它,这一切都可以,但在这种情况下,我什么时候可以取消我的第二个视图控制器?你能帮帮我吗?

EN

回答 1

Stack Overflow用户

发布于 2012-01-20 17:50:36

根据您的代码(self.secondViewController),我的理解是,您已经将secondViewController声明为.h文件中的一个变量,而@synthesize则声明为您的.m文件中的一个变量。

if (self.secondViewController == nil) self.secondViewController = [SecondViewController alloc initWithNib:@"SecondViewController“bundle:nil];self ====self.secondViewController=[SecondViewController alloc initWithNib:@”SecondViewController“bundle:nil];

在您的- (void)dealloc方法中,我将添加[self.secondViewController release];,在- (void)viewDidUnload中添加[self setSecondViewController:nil];

以上代码假设您是,而不是使用的。如果您正在使用ARC,我将修改我的代码如下:

instantiateViewControllerWithIdentifier:@"secondViewController";//

//不要在.h文件//中将secondViewController声明为变量,而是在情节提要中给它一个标识符,例如SecondViewController //和secondViewController *svc = self.storyboard自我演示显示视图控制器: svc动画:是;svc= nil;

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8944583

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档