I used this code to compare two NSNumber objects, but it never passed the if condition.
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];
}
}
}
What is wrong?
My sugestion is to compare it as
if([productObject.pid intValue] == [number intValue])
{
NSLog(@"BUY it!!!");
[purchasArray addObject:productObject];
}
cheers.
I'd avoid object comparison
Change following code..
if ([productObject.pid isEqualToNumber number])
{
NSLog(@"BUY it!!!");
[purchasArray addObject:productObject];
}
Hope, this will help you..
Try compare method instead of '=='.
if([1stNum compare:secNum] == NSOrderedSame)
{
// do something
}
Tell me if it helps now!
Use like this I thing this will helpful for you
NSNumber *n=[[NSNumber alloc]init];
if([n isEqualToNumber:somenumber])
{
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With