在Xcode 4中使用“Tab Bar”模板,每个ViewController都是自动创建的,所以我没有机会在创建ViewController时设置任何属性。我希望每个ViewController都可以访问一个对象(FMDB的FMDatabase的一个实例)。你如何在iOS上的ViewControllers之间传递一个对象?
有许多有关这个已经在计算器上的问题,但也有一些假设你正在创建VC的手,和其他人建议使用的AppDelegate作为调解人:
MyAppDelegateClass *appDelegate = [[UIApplication sharedApplicaton] delegate];
myLocalProperty = appDelegate.someDataModelProperty;
上面似乎而是对我来说“哈克”。有没有更好的方法来访问多个ViewController中的单个对象?
即使使用Tab Bar模板,您也将拥有视图控制器的自定义子类。他们很可能会'FirstViewController'和'SecondViewController'。一探究竟。您可以在那里进行更改。 – 2011-06-03 13:37:22
我也想回答这个问题。好的时机! – Legolas 2011-06-03 13:39:57
我不认为这是“hacky”,如果它不需要根据视图进行更改,则比将其传递给每个子视图的控制器更容易。最好使它只读,以便随后的对象可以对其进行修改,但不能偷偷替换它,如果这对您正在处理的数据有效。 – 2011-06-03 22:30:18