这是一个非常基本的问题。
在AppDelegate.m
,
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
self.stationInfos = [StationDB database].stationInfos;
}
return YES;
}
我希望能够在stationInfos
内使用ViewController.m
。最常规的方法是什么?
答案 0 :(得分:1)
您可以在.h中设置变量而不是.m。从那里,在ViewController.m中你应该导入AppDelegate.h。
然后,当你想要变量do:
AppDelegate *appDelegate = [UIApplication sharedApplication].delegate;
variableType *stationInfos = appDelegate.stationInfos;
答案 1 :(得分:1)
我会说,将这些数据存储在AppDelegate(.m或.h文件)中通常不赞成。
如果需要从多个位置访问数据,则通常建议使用Singleton对象。单例是一种面向对象的概念,其中只维护一个对象实例,以允许从多个位置访问同一数据源。
或者,如果[StationDB数据库] .stationInfos已经是单例(我不熟悉该对象),那么您可以在任何需要的地方访问它。没有任何内容表明您需要在.h或.m文件中定义它 - 您也可以在需要它的方法中定义它。
一般准则可能是: