将多个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是否有意义?感谢。
答案 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;
}