ios extern 声明全局变量

A类中

a.m这样定义了一个a类的全局变量

?

1

2

3

4

#import "a.h"

NSString* hello=@"helloworld";

@implementation a

// NSString* hello=@"helloworld";

两个地方都行,反正就是定义了这么一个类的全局外部可访问的变量

在B类中

b.m里面这样定义

?

1

2

3

4

#import "a.h"

#import "b.h"

extern NSString* hello;

@implementation b

然后你就可以在B类中使用hello,而且hello的值直接就是@"helloworld";

在做项目的时候,我们可以定义一个Config.h

?

1

2

3

4

#ifndef cfg

#define cfg

    NSString *url = @"www.baidu.com";

#endif

在Appdelegate.m中初始化url

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

#import "AppDelegate.h"

#import "Config.h" 

extern NSString* url;

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

    // Override point for customization after application launch.

    self.window.backgroundColor = [UIColor whiteColor];

    [self.window makeKeyAndVisible];

     

    NSLog(@"%@",url);    //输出www.baidu.com

    url = @"www.google.com";    //改变hello的值

    return YES;

}

猜你喜欢

转载自blog.csdn.net/ZhangWangYang/article/details/50851125
今日推荐