-----1.应该使用 FOUNDATION_EXPORT 还是 #define 来定义常量?
FOUNDATION_EXPORT:
.h
1
2
|
FOUNDATION_EXPORT NSString * const constantString1;
FOUNDATION_EXPORT NSString * const constantString2;
|
.m
1
2
|
NSString * const constantString1 = @
"白龙马"
;
NSString * const constantString2 = @
"蹄儿朝西"
;
|
#define:
1
|
#define constantString3 = @
"白龙马 蹄儿朝西"
;
|
FOUNDATION_EXPORT相比于#define在检测两个字符串的值是否相等时更快;
FOUNDATION_EXPORT使用(constantString1 == constantString2)来比较,比较的是指针地址;
#define使用([constantString1 isequalToString: constantString2]) ,比较的是每一个字符是否相等。
-----2.CGFloat与float的区别
现在apple要求支持64位,为什么要说这个,就是因为CGFloat在64位系统下是double类型,32位系统下是float类型。
哈?你问我你怎么知道的?点进去看一下吧少年~
1
2
3
4
5
6
7
8
9
10
11
|
#if defined(__LP64__) && __LP64__
# define CGFLOAT_TYPE double
# define CGFLOAT_IS_DOUBLE 1
# define CGFLOAT_MIN DBL_MIN
# define CGFLOAT_MAX DBL_MAX
#else
# define CGFLOAT_TYPE float
# define CGFLOAT_IS_DOUBLE 0
# define CGFLOAT_MIN FLT_MIN
# define CGFLOAT_MAX FLT_MAX
#endif
|
后续不断更新里边的内容 都是一些琐碎的东西