2011-03-28 59 views
0

我想从代码加载UIViewController。我基本上创建了一个生成.xib文件的UIViewController。我用下面的代码加载:如何以编程方式加载UIViewController?

testViewController = [[TestViewController alloc] initWithNibName:@"TestViewController" bundle:nil]; 

这个工作,但显然(从我读)只认为保持和控制器被释放(一些东西,我已经测试过把一个断点在UIViewController的dealloc方法)。我需要保持UIViewController或其他方式,使用从nib文件加载的UIView创建UIViewController。任何人都知道如何实现这一目标?

回答

0

不确定你的意思。你在那里做的是正确的。既然你已经分配了它,你还需要在某个时候向视图控制器发送一个release语句,直到那时它不应该被释放。

在应用程序收到内存警告的特殊情况下,视图可能会被释放并设置为零,但我不确定这是否是您读过的内容。

+0

我想我错了。 UIViewController和UIView都将被释放。我在连接到UIViewController的笔尖内放置了一个UITableViewController。没有我告诉它的地方就是这个被释放的人。 ...任何想法可能发生什么? – jglievano 2011-03-28 20:32:24

+0

嗯,绝对不可思议。你能看到桌面视图吗?还是只是随机释放?我会评论任何发布声明只是为了看看它是否有帮助。你能发布更多的代码/崩溃日志吗? – 2011-03-28 20:37:57

+0

TableView正在显示,但稍后再次需要委托(UITableViewController)时会崩溃。我不会在任何地方释放任何东西,但在UITableViewController的UIViewController的dealloc方法中(不会被调用)。崩溃消息EXC_BAD_ACCESS为例外(用于调用已发布的对象)。 – jglievano 2011-03-28 20:47:06

相关问题