TestObject.h中
static NSInteger num = 100;
@interface TestObject : NSObject
+(void)add;
@end
TestObject.m中
+(void)add{
num ++;
NSLog(@"TestObject---- %p-----%ld",&num,num);
}
ViewController.m中
- (void)viewDidLoad {
[super viewDidLoad];
NSLog(@"%p-----%ld",&num,num);
num = 10000;
NSLog(@"%p-----%ld",&num,num);
[TestObject add];
NSLog(@"%p-----%ld",&num,num);
}
大家知道能输出啥吗?
输出结果如下:
2021-01-18 16:36:23.675920+0800 test[99077:6602929] 0x1024211d0-----100
2021-01-18 16:36:23.675973+0800 test[99077:6602929] 0x1024211d0-----10000
2021-01-18 16:36:23.676172+0800 test[99077:6602929] TestObject---- 0x1024211c8-----101
2021-01-18 16:36:23.676210+0800 test[99077:6602929] 0x1024211d0-----10000
为啥呢,这里大家应该知道一个概念就是用stastic修饰的全局静态变量,只对文件有。可以看打印,num在TestObject和ViewController两个不同的文件里,地址也是不一样的。
同样分类和类也是属于两个不同的文件的。
网友评论