2 yue1liang1chuan yue1liang1chuan 于 2013.02.17 10:46 提问

iphone中比较NSnumber

我用下面的代码在iphone中比较NSNumber,但是无法传递if条件:

listItems = [appDelegate.productStatus componentsSeparatedByString:@","];


for (int i=0;i<[appDelegate.productArray count]; i++)
{

    for (int j=0; j<[listItems count]; j++) 
    {
        number=[NSNumber numberWithInt:[[listItems objectAtIndex:j] intValue]];
        NSLog(@"number %@",number);
        productObject=[appDelegate.productArray objectAtIndex:i];           
        NSLog(@"%@,%@",productObject.pid,number);
        if (productObject.pid == number) 
        {
            NSLog(@"BUY it!!!");
            [purchasArray addObject:productObject];
        }

    }
}

麻烦帮忙解决一下,谢谢。

1个回答

wangyaninglm
wangyaninglm   Ds   Rxr 2015.01.13 23:49

这样试试:
if([someNSNumberValue compare:[NSNumber numberWithBool:NO]] == NSOrderedSame) {

 // ...

}

-(BOOL)boolValue:

BOOL b = [num boolValue];

if([num boolValue] == NO) {

 // ...

}

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
int与NSNumber之间的相互转化,以及转化问题对数值比较的影响
前提:NSNumber *pages = @“1”与int page = 1进行大小比较 if(page 而是应该 [ self.page intValue ]; int转化为NSNumber则是:[NSNumber numberWithInt:int]; 基础呀。。。。
NSNumber讲解之二——NSNumber的大小比较
1.比较NSNumber的大小 2.-(BOOL) isEqualToNumber: 3.- (NSComparisonResult)compare:(NSNumber *)otherNumber;
NSNumber比较大小
比较NSNumber的大小 -(BOOL) isEqualToNumber: - (NSComparisonResult)compare:(NSNumber *)otherNumber; 1 .概述 既然NSNumber都是数值型的封装,那么它们之间可以比较大小 不可使用比较运算符来比较,如,不可用>, <…..2 .NSNumber的实例方法: (BOOL)isEqualToNumber:
NSNumber与int基本数据类型的比较
刚开始用oc没多久,直接把NSNumber和int类型比较了,结果会有3种,大于小于或者等于,但是哈哈,果然出错了 就像这样 NSNumber *number = self.remoteConfig[@"start_page_show"].numberValue; int radom = arc4random() % 100; if (radom < number){ //do
objective-c 中数据类型之五 数值类(NSNumber及NSNumberFormatter)
聊聊NSNumber, NSNumber可以封装c中基本数据类型 char,int,long,float,BOOL,NSInteger,CGFloat等。
NSDecimalNumber NSNumber 区别 使用方法
NSDecimalNumber 是NSNumber的子类。使用 [NSNumber numberWithDouble:]方法来格式我的NSNumber,但是,由于一些值比较大,我想要用科学计数法来表示。NSDecimalNumber就提供了科学计数法的表示方法。什么是科学计数法? 将一个数字表示成 (a×10的n次幂的形式),其中1≤a<10,n表示整数,这种记数方法叫科学记数法。
Swift中的NSNumber
import Foundation // Swift是强类型语言,NSNumber是OC时代的遗存 let n = NSNumber(double: 35.5) let intversion = n.intValue let doubleversion = n.doubleValue let boolversion = n.boolValue print(intversion) print(
iOS NSNumber NSDecimalNumber 对数值的限制
//1.今天在做数值判断的时候,发现NSString用floatValue转的时候出现了精度问题,小数后的数值显示不对,后来查资料发现了一个比较好用的类NSDecimalNumber;//2.NSDecimalNumber是NSNumber的子类,比NSNumber的功能更为强大,四舍五入,取整,输入后自动取掉数值前面无用的0,最后以为是“.”消去等。由于NSDecimalNumber精度较高,所以
iphone 开发学习基础NSNumber
object-c基础语法NSNumber, 适合初学者,主要学习NSNumber的设置,NSNumber中可以存储任何的数字类型,以及BOOL和char等
NSNumber讲解之三——NSNumber转换为NSString
1.怎么把NSNumber转换为NSString 2.怎么把基本数值型数据类型转为NSString