iOS开发的一些奇巧淫技3 - CocoaChina_让移动开发更简单
CGFloat和float的区别
这段话的意思就是,64位系统下,CGFLOAT是double类型,32位系统下是float类型.CGFloat能够保证你的代码在64位系统下也不容易出错,所以你的代码应该尽量使用CGFloat.尽管他可能造成一些多余的消耗.不过能保证安全.
FOUNDATION_EXPORT、#define
我的.h文件
FOUNDATION_EXPORT NSString * const kMyConstantString;
.m文件是这样定义的
NSString * const kMyConstantString = @"Hello";
还有一种是常用的#define方法了
1#define kMyConstantString @"Hello"
有什么区别呢?
使用第一种方法在检测字符串的值是否相等的时候更快.对于第一种你可以直接使用(stringInstance == MyFirstConstant)来比较,而define则使用的是这种.([stringInstance isEqualToString:MyFirstConstant])
哪个效率高,显而易见了.第一种直接比较的是指针地址,而第二个则是一一比较字符串的每一个字符是否相等.
NSInteger 与 NSUInteger 和 int与 NSInteger 区别 - CSDN博客
NSUInteger是无符号的整型, NSInteger是有符号的整型,在表视图应用中常见 NSUInteger row= [indexPath row];因为这是显示tableViewCell有多少个,只能是非零整数的,也就是说,NSUInteger常用于索引值;
int与 NSInteger
NSInteger是一个封装,它会识别当前操作系统的位数,自动返回最大的类型。用NSInteger,32位系统NSInteger是一个int,即32位,但当时64位系统时,NSInteger便是64位的。
链接:https://www.jianshu.com/p/2abaedc8e8a4
网友评论