OC基础

iOS int、NSInteger、NSUInteger的区别

2018-11-28  本文已影响10人  CoderZb

int、NSInteger的区别

NSInteger会自动识别当前电脑系统是32位还是64位数,然后自动返回最大的类型(int还是NSInteger)。例如,当前电脑为32位系统,你声明的NSInteger自动变为int。当前电脑为64位系统,你声明的NSInteger还是NSInteger。
所以32位系统,int的长度等于NSInteger的长度;64位系统,int的长度小于NSInteger的长度;也就是说NSInteger的长度一定是大于等于int的长度的。
知道了这个原理,当你不知道电脑的系统是几位,并且你正在声明一个整形变量,你一定要使用NSInteger,不要使用int,你可以当成一种规范。记住:在多数情况下一定尽可能的使用NSInteger。

NSInteger、NSUInteger的区别请参考这篇文章

NSInteger是有符号整形,即声明的变量既可以是正数也可以是负数

NSUInteger是无符号整形,即声明的变量只能是正数,一般用在UITableView\UICollectionView中,因为索引值不可能是负数,例如,NSUInteger row = indexPath.row;

上一篇下一篇

猜你喜欢

热点阅读