FOUNDATION_EXPORT CGFloat和float NSInterger NSUInteger int

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容