如何“清除”UIViewcontroller?(发布)

时间:2012-01-28 13:46:33

标签: objective-c xcode uiviewcontroller presentmodalviewcontroller

抱歉,但我的英语不是很好,我会尽力清楚地解释我的问题。

didSelectRowAtIndexPath - > presentModalViewController - >用户完成选择值(didSelectRowAtIndexPath) - > dismissModalViewControllerAnimated - >

(当完成dismissModalViewController时,在viewController中仍然存在"记忆"(EX。用户选择的行))

所以我希望当第二次我调用presentModalViewController时,它是一个" NEW"一个就像我第一次调用presentModalViewController。

我在Xib中有一个连接到IBOutlet的UIViewcontroller。

DataController.h

IBOutlet CategoriesViewController *cateviewcontroller;

DataController.m

[self presentModalViewController:cateviewcontroller animated:YES];

我试图将viewcontroller指向nil。

categoriesviewcontroller = nil

但下次打电话时

[self presentModalViewController:cateviewcontroller animated:YES];

categoriesviewcontroller已经为零,应用程序将崩溃。

我不能像

一样使用
CategoriesViewController *vc = [[CategoiesViewController alloc] initWithNibName:@"xxx" bundle:nil];

因为我没有为这个ViewController创建一个XIB文件,这个UIViewcontroller在一个XIB文件下

谢谢

1 个答案:

答案 0 :(得分:0)

您有两个选择 - 在完成使用后清除视图控制器上的所有选项

如果要清除表格上的选定行,可以执行

[uitable deselectRowAtIndexPath:[uitable indexPathForSelectedRow] animated:NO];

或在每次使用后释放它,但是每次将它呈现给用户时都必须重新创建它,因此它可能不在您的主xib文件中。