0

对不起,但我的英语不是很好,我会尽我所能解释清楚我的问题。如何“清除”一个UIViewcontroller?(发布)

didSelectRowAtIndexPath方法 - > presentModalViewController - >用户整理选择值(didSelectRowAtIndexPath方法) - > dismissModalViewControllerAnimated - >

(当完成dismissModalViewController,还有东西在的viewController(EX被 “记忆”。由用户选择))

的行,所以我希望在第二次我打电话presentModalViewController,这是一个“新”一就像当我第一次调用presentModalViewController。

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

DataController.h

IBOutlet CategoriesViewController *cateviewcontroller; 

DataController.m

[self presentModalViewController:cateviewcontroller animated:YES]; 

我试着点视图 - 控制到零。

categoriesviewcontroller = nil 

但当下次我打电话

[self presentModalViewController:cateviewcontroller animated:YES]; 

categoriesviewcontroller已经是零,应用程序会崩溃。

我不能用像

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

,因为我没有这个视图控制器创建一个XIB文件,这UIViewController的是下一个XIB文件

谢谢

回答

0

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

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

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

或释放在每次使用后,但是这样你必须在每次它呈现给用户的时间重新创建它,所以它可能不会是你的主人XIB文件。

+0

感谢您的回答, 我知道我可以做取消选择RowAtIndexPath, ,但还有一些其他的东西仍然不能很清楚地清楚。 – Johnny 2012-01-28 15:24:59

+0

第二种选择,我试图在每次使用后释放它,但正如您所说,我必须在每次向用户呈现之前重新创建它。 但问题是,我无法创建它。因为它在主xib文件中。 – Johnny 2012-01-28 15:26:23

+0

所以解决方案是创建一个更多的XIB文件? – Johnny 2012-01-28 15:27:35