这听起来有点奇怪:由于在给定时间只有一个屏幕可见,为什么不使用单个视图控制器并通过按需编程方式分配,添加,销毁子视图来重新生成视图层次/内容?
我正在移植在硬件电话上运行的VOIP SW。这款手机有触摸屏。触摸屏内容由核心模块创建,该模块向渲染模块提供指令,在触摸屏上显示这些指令(创建屏幕,创建按钮,创建文本字段,...,销毁屏幕,破坏按钮,...)。当然,管理屏幕布局的模块是核心voip sw的一部分,运行在它自己的线程上。因此,有必要在后台创建/销毁视图,并将它们推送到主线程上进行显示。 由于所有屏幕/子屏幕项都是已知的,我更喜欢经典方法(故事板,xib,需要的附加代码)并将传入的绘制请求与布局项匹配,从而只更新数据。分配/销毁所有这些视图结构对我来说似乎也是一场性能噩梦,但我一直很难动态地做到这一点。 我需要你的帮助来推理它。
答案 0 :(得分:0)
你为什么要这样做?是的,这是完全可能的,但它需要更多的工作来创建,并且更难以排除故障和调试。此外,使用多个视图控制器还可以减少代码量,这可能有助于您的应用程序更好地运行。
答案 1 :(得分:0)
如果您的应用程序足够简单,那么一旦您开始获得越来越多的元素,您的VC将成为要管理的PITA。如果您有超过1个tableview,则必须在所有呼叫中检查您要使用哪个...