NSNumber的大小比较
来源:互联网 发布:安利网络直销模式 编辑:程序博客网 时间:2024/06/10 18:38
NSNumber的大小比较
今天遇到一个问题,写了类似下面这个判断
if(someNSnumber == [NSNumber numberWithInt:100]){ //someCode }
一直无法成立这个判断,但是在控制台断点输出someNsnumber
却得到100.所以自己就很奇怪,明明相等但是无法让判断成立,而且编译器并没有显示警告或者错误。
之后发现NSNumber是有一个compare
的函数:
- (NSComparisonResult)compare:(NSNumber *)otherNumber;
返回NSComparisonResult
,是一个枚举:
typedef NS_ENUM(NSInteger, NSComparisonResult) { NSOrderedAscending = -1L, //升序 (左 < 右) NSOrderedSame, //相等(左 = 右) NSOrderedDescending //降序(左 > 右) };
从字面意思就可以看出,是比较升序、降序或者相等的,与我们一般的比较大小不同,是要通过遵循一定的左右顺序来排序,间接获得大小。
修改之后,可以用以下方式比较NSNumber
大小:
if ([numberA compare:numberB] == NSOrderedAscending) { NSLog(@"numberA小"); } else { NSLog(@"numberA大"); }
0 0
- NSNumber的大小比较
- NSNumber的大小比较
- NSNumber讲解之二——NSNumber的大小比较
- NSNumber比较大小
- NSInteger,NSUInteger,NSNumber比较
- 比较日期的大小
- 时间大小的比较
- 比较两位数的大小
- 比较字符串的大小
- 比较字符串的大小
- 比较时间的大小
- 比较时间的大小
- 比较分数的大小
- 比较字符串的大小
- Integer大小的比较
- 时间大小的比较
- Integer大小的比较
- 比较数的大小
- 如何成为游戏主程
- C#中的格式化输出
- php安装不了 sqlserver 解决办法 mssql.dll php_sqlsvr_55_ts.dll
- 闹钟倒计时动画效果实现。仿聚美优品H5闪购动画。
- 使用patch修补python中serial.tools中的一个Bug
- NSNumber的大小比较
- LINK : fatal error LNK1158: cannot run 'rc.exe'
- Android屏幕适配全攻略
- Storyboard 全解析 (一)
- 制作触摸屏网页程序1
- cocos2d-x VS2012 UTF8码导致的错误的解决办法
- 使用Volley框架,不走onResponse和onError方法
- 编写一个智能指针类
- oracle rac12c 安装数据库 check maximum locked memory setting on the system