传递数据多个ViewControllers转发

时间:2015-01-10 21:00:01

标签: ios core-data model-view-controller

将多个ViewController转发数据的可接受方式是什么?例如,我目前有一个带有Core Data的iPhone应用程序。核心数据在AppDelegate类中设置,初始ViewController是ViewController A. ViewController A不与Core Data交互,但它分割到ViewController B,它与Core Data交互并需要设置变量(NSManagedObjectContext)在AppDelegate中。我如何将信息从AppDelegate传递给ViewController B?

我读过单身人士不是很好的练习,所以将变量传递给ViewController A然后将其传递给ViewController B是否有意义?感谢。

1 个答案:

答案 0 :(得分:2)

单身人士很好!不要让任何人吓跑 正确的 使用。

确实可以误用它们,但是将数据存储在一个中心位置更有意义,而不是将数据传递给不使用数据的一系列视图控制器,以防万一一个视线控制器需要它!

确保你遵循Apple的设计模式,你应该没事。

以下是实例化类的单例实例的典型方法:

+ (instancetype)singleton {
    static <ClassName> *singleton = nil;
    static dispatch_once_t onceToken;
    dispatch_once(&onceToken, ^{
        singleton = [[<ClassName> alloc] init];
        // If you have any other, one-time configuration that you 
        // don't handle in "init", also do it here
    });
    return singleton;
}