i日久生。。。iOS开发iOS Developer

OC中全局变量,静态变量以及常量的使用

2016-08-15  本文已影响2254人  远方的枫叶

全局变量

duplicate symbol _a in:
    /Users/sunlei/Library/Developer/Xcode/DerivedData/testSL-foqxegbhpqzqcnavmaglgvnzbggp/Build/Intermediates/testSL.build/Debug-iphonesimulator/testSL.build/Objects-normal/x86_64/ViewController.o
    /Users/sunlei/Library/Developer/Xcode/DerivedData/testSL-foqxegbhpqzqcnavmaglgvnzbggp/Build/Intermediates/testSL.build/Debug-iphonesimulator/testSL.build/Objects-normal/x86_64/aaa.o
ld: 1 duplicate symbol for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

注意:一般外部全局变量都要定义在.m文件中,因为如果在.h定义的话,一旦该文件被其他文件引用的话就还会报上面的符号重复的错误,对于把static内部全局变量定义在头文件不会报上面的错,但是一般推荐定义在实现文件中;

静态变量

常量

//在.h头文件中用关键字extern进行声明
//这样引用该类头文件的其他文件就可以直接使用名字了,而不必在乎它的值是多少,一般可以将其定义的公共头文件中去
extern NSString *const SLTest;
//在.m中进行实现赋值
NSString *const SLTest = @"SLTest";
上一篇 下一篇

猜你喜欢

热点阅读