我刚刚意识到使用带有UITableViewController的故事板和2个执行模态segue的静态单元来显示2个不同的UIViewControllers,实际上每次都会创建这些视图控制器的新实例,每次调用initWithCoder:方法(当然还有viewDidLoad) )。我一直以为使用了相同的实例,initWithCoder:每个视图控制器类只调用一次。
有人可以确认此行为是否正确?我没有使用任何花哨的东西,甚至没有准备好塞弗:
有没有办法避免这种情况?
答案 0 :(得分:2)
这种行为是由设计'在当前版本的iOS中(我在WWDC
 13中与2名Apple工程师确认了这一点),但在未来的更新中可以更改。在使用故事板时,我无法避免它。如果您回到每个控制器的xib,您可以自己管理缓存实例。