如何在appDelegate和/或其他视图控制器中访问变量?

时间:2012-08-30 15:13:01

标签: objective-c xcode uiviewcontroller global-variables

我有一个布尔变量,我需要在appDelegate中访问,但我无法弄清楚如何这样做。我试图导入其他视图控制器,然后实现它,但它出现了Apple Mach-O链接器(id)错误,显示“链接器命令失败,退出代码为1”。我是app dev的新手,所以请简单解释一下。我正在使用故事板,所以我无法将xib / nib文件与我的代码结合起来。

2 个答案:

答案 0 :(得分:0)

Yon可以在MyAppDelegate.h中声明一个属性:

@property (strong, nonatomic) NSString *myString;

然后您可以在ViewController中访问它:

#import "MyAppDelegate.h"
...
MyAppDelegate *appDelegate = (MyAppDelegate *)[[UIApplication sharedApplication] delegate];
NSLog(@"%@", appDelegate.myString);

答案 1 :(得分:0)

访问AppDelegate.h中的Bool变量声明到任何其他UIViewController ..

1)在AppDelegate.h中

@property (nonatomic)BOOL myBool;

2)在AppDelegate.m

@synthesize myBool;

3)访问任何其他UIViewController中的myBool变量

#define myAppDelegate [[UIApplication sharedApplication]delegate]

// define above line below @implementation XyzViewController

 if (((AppDelegate *)myAppDelegate).myBool)
 {
    //implement logic    
 }
 else
 {

 }