美文网首页OC基础
iOS int、NSInteger、NSUInteger的区别

iOS int、NSInteger、NSUInteger的区别

作者: CoderZb | 来源:发表于2018-11-28 16:32 被阅读10次

    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;

    相关文章

      网友评论

        本文标题:iOS int、NSInteger、NSUInteger的区别

        本文链接:https://www.haomeiwen.com/subject/fohzqqtx.html