【iOS知识学习】_int、NSInteger、NSUInteger、NSNumber的区别和联系
来源:互联网 发布:西游之路升阶数据 编辑:程序博客网 时间:2024/06/10 03:47
1、首先先了解下NSNumber类型:
苹果官方文档地址:https://developer.apple.com/library/ios/documentation/Cocoa/Reference/Foundation/Classes/NSNumber_Class/Reference/Reference.html
NSNumber是NSValue的一个子类,它是一个对象来存储数字值包括bool型,它提供了一系列的方法来存储char a signed or unsigned char, short int, int, long int, long long int, float, or double or as a BOOL,它提供了一个compare:方法来决定两个NSNumber对象的排序;
创建一个NSNumber对象有以下方法:
- + numberWithBool:
- + numberWithChar:
- + numberWithDouble:
- + numberWithFloat:
- + numberWithInt:
- + numberWithInteger:
- + numberWithLong:
- + numberWithLongLong:
- + numberWithShort:
- + numberWithUnsignedChar:
- + numberWithUnsignedInt:
- + numberWithUnsignedInteger:
- + numberWithUnsignedLong:
- + numberWithUnsignedLongLong:
- + numberWithUnsignedShort:
初始化方法:
- – initWithBool:
- – initWithChar:
- – initWithDouble:
- – initWithFloat:
- – initWithInt:
- – initWithInteger:
- – initWithLong:
- – initWithLongLong:
- – initWithShort:
- – initWithUnsignedChar:
- – initWithUnsignedInt:
- – initWithUnsignedInteger:
- – initWithUnsignedLong:
- – initWithUnsignedLongLong:
- – initWithUnsignedShort:
- – boolValue
- – charValue
- – decimalValue
- – doubleValue
- – floatValue
- – intValue
- – integerValue
- – longLongValue
- – longValue
- – shortValue
- – unsignedCharValue
- – unsignedIntegerValue
- – unsignedIntValue
- – unsignedLongLongValue
- – unsignedLongValue
- – unsignedShortValue
数字对象的创建或者初始化:
格式:
NSNumber 数字对象 = [NSNumber numberWith数字类型:数值];
- intNumber = [NSNumber numberWithInt:100];
- longNumber = [NSNumber numberWithLong:0xabcdef];
- floatNumber = [NSNumber numberWithFloat:10.01];
2、int、 NSInteger、 NSUInteger、NSNumber之间的区别和联系
int : 当使用int类型定义变量的时候,可以像写C程序一样,用int也可以用NSInteger,推荐使用NSInteger ,因为这样就不用考虑设备是32位还是64位了。
NSUInteger是无符号的,即没有负数,NSInteger是有符号的。
NSInteger是基础类型,NSNumber是一个类,如果需要存储一个数值,直接使用NSInteger是不行的,比如在一个数组里使用下面的语句就会报错:
- NSArray *array = [NSArray alloc] init];
- [array addObject:3];
- NSArray *array = [NSArray alloc] init];
- [array addObject:[NSNumber numberWithInt:3]];
写的比较简单,希望有帮助。
0 0
- 【iOS知识学习】_int、NSInteger、NSUInteger、NSNumber的区别和联系
- 【iOS知识学习】_int、NSInteger、NSUInteger、NSNumber的区别和联系
- 【iOS知识学习】_int、NSInteger、NSUInteger、NSNumber的区别和联系
- 【iOS知识学习】_int、NSInteger、NSUInteger、NSNumber的区别和联系
- 【iOS知识学习】_int、NSInteger、NSUInteger、NSNumber的区别和联系
- 【iOS知识学习】_int、NSInteger、NSUInteger、NSNumber的区别和联系
- 【iOS】_int、NSInteger、NSUInteger、NSNumber的区别和联系
- 基础知识之_int、NSInteger、NSUInteger、NSNumber的区别和联系
- int、NSInteger、NSUInteger、NSNumber的区别和联系
- int、NSInteger、NSUInteger、NSNumber的区别和联系
- int、NSInteger、NSUInteger、NSNumber的区别和联系
- int, NSInteger, NSUInteger, NSNumber的区别
- int、 NSInteger、 NSUInteger、NSNumber之间的区别
- IOS int,NSInteger,NSUInteger,NSNumber
- int,NSInteger,NSUInteger,NSNumber区别
- NSUInteger 和 NSInteger 区别和联系
- NSInteger和NSUInteger的区别
- iOS NSInteger/NSUInteger与int/unsigned int、long/unsigned long之间的区别!Nsnumber
- Cookie的作用
- ios开发--在Swift中使用JavaScript的方法和技巧
- 《iOS 6 Programming Cookbook》读书笔记
- spark 2.0 SparkListener 继承关系
- 测试自动化--学到的10课(血泪史)
- 【iOS知识学习】_int、NSInteger、NSUInteger、NSNumber的区别和联系
- iOS动画——辉光效果(Label)
- [LeetCode]60. Permutation Sequence
- hadoop添加snappy解压缩库
- sage安装和使用
- xml文件中的变量参数
- 欢迎使用CSDN-markdown编辑器
- Android luancher消息提醒-ShortcutBadger
- shell下获取上一个月,星期时间和时间戳的范围