在iOS中将模型数据作为详图控制器传递给选项卡栏视图控制器

在iOS中将模型数据作为详图控制器传递给选项卡栏视图控制器,ios,uitabbarcontroller,uistoryboard,master-detail,Ios,Uitabbarcontroller,Uistoryboard,Master Detail,我正在开发一个核心数据主细节应用程序。局部视图是一个选项卡式界面,每个选项卡显示模型对象的不同方面 因此,我有一个: 主视图控制器(UITableView的子类) 选项卡栏控制器(默认UITabBarController,非子类) 选项卡栏控制器中包含3个详细视图控制器 当我的应用程序从主视图控制器切换到选项卡视图控制器时,我将所选模型对象存放在何处 如何与选项卡栏控制器中包含的所有详细视图共享此模型对象?您可以尝试创建一个共享数据对象,也称为单例设计模式。在singleton实例中的变量内

我正在开发一个核心数据主细节应用程序。局部视图是一个选项卡式界面,每个选项卡显示模型对象的不同方面

因此,我有一个:

  • 主视图控制器(UITableView的子类)
  • 选项卡栏控制器(默认UITabBarController,非子类)
  • 选项卡栏控制器中包含3个详细视图控制器
当我的应用程序从主视图控制器切换到选项卡视图控制器时,我将所选模型对象存放在何处


如何与选项卡栏控制器中包含的所有详细视图共享此模型对象?

您可以尝试创建一个共享数据对象,也称为单例设计模式。在singleton实例中的变量内设置所选模型对象,并从选项卡栏内的ViewController访问它。

每个视图只应关注它需要管理的数据(模型的一部分)。因此,每个视图控制器(1个主视图控制器和3个详细视图控制器)都应该具有存储其使用的数据(同样是模型的一部分)的属性。例如,对于主视图,它很可能具有对象列表,每个对象或它们的组合,但对于每个局部视图,视图控制器只需要保留相关数据


希望这有帮助。我很想知道你对这个问题的解决办法。

我的情况也差不多。但是,我已经对UITabBarController进行了子类化,因此我的计划是让UITabBarController保留模型对象,并在模型更改时将其传递到每个详细视图。

我的大多数研究都提出了相反的问题,在选项卡式界面或Storybard之前的解决方案中嵌入主界面和细节,这些解决方案在概念上并不适合。