我想在我的appDelegate中添加兩個變量,以便我可以在其他視圖控制器中使用它們。在AppDelegate中添加變量Objective c
我的代碼如下所示:
myappdelegate.h:
@class MyViewController1, MyViewController2; // controller than use my new variables
@interface AppDelegate : UIResponder <UIApplicationDelegate>
{
NSString* firstVariable;
NSString* secondVariable;
}
@property (retain) NSString* firstVariable;
@property (retain) NSString* secondVariable;
@end
在myappdelegate.m我合成的變量:
...
@synthesize firstVariable = _firstVariable;
@synthesize secondVariable = _secondVariable;
...
但是當我的ViewController使用myappdelegate不要」找到我的新變量:
...
mainDelegate = (AppDelegate *)[[UIApplication sharedApplication]delegate];
...
mainDelegate.firstVariable = localVariable.text;
...
我的錯誤在哪裏?
感謝所有。
有一些錯誤。主要的一點是,實例變量的名稱與合成屬性時使用的名稱不同。另外,除非委託人訪問這些控制器,否則不需要'@ class'行。你的視圖控制器是否導入「AppDelegate.h」?你如何聲明'mainDelegate'? – 2014-12-27 14:28:22
啊!使用應用程序委託在您的視圖控制器之間傳遞數據!你可能還會在額頭上貼上一句「我不知道自己在做什麼」的標誌。 – Abizern 2014-12-27 14:30:05
那麼,有沒有錯誤信息? – 2014-12-27 14:32:33