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

Objective c 如何使变量在appDelegate和/或其他视图控制器中可访问?,objective-c,xcode,uiviewcontroller,global-variables,Objective C,Xcode,Uiviewcontroller,Global Variables,我需要在appDelegate中访问一个布尔变量,但我不知道如何访问它。我曾尝试导入另一个视图控制器,然后实现它,但它出现了一个Apple Mach-O链接器(id)错误,表示“链接器命令失败,退出代码为1”。我对应用程序开发相当陌生,所以请简单地解释一下。我正在使用情节串连板,因此无法将xib/nib文件与代码组合。您可以在MyAppDelegate中声明一个属性。h: @property (strong, nonatomic) NSString *myString; 然后,您可以在View

我需要在appDelegate中访问一个布尔变量,但我不知道如何访问它。我曾尝试导入另一个视图控制器,然后实现它,但它出现了一个Apple Mach-O链接器(id)错误,表示“链接器命令失败,退出代码为1”。我对应用程序开发相当陌生,所以请简单地解释一下。我正在使用情节串连板,因此无法将xib/nib文件与代码组合。

您可以在MyAppDelegate中声明一个属性。h:

@property (strong, nonatomic) NSString *myString;
然后,您可以在ViewController中访问它:

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

访问AppDelegate.h中的Bool变量declare到任何其他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
 {

 }

谢谢,这正是我想要的。我将根据bool的状态更改字符串。您可以像这样声明
bool
属性:
@property(非原子,赋值)bool myBoolProperty