このコードを使用して2つの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];
}
}
}
なにが問題ですか?
私の予想は、それを次のように比較することです
if([productObject.pid intValue] == [number intValue])
{
NSLog(@"BUY it!!!");
[purchasArray addObject:productObject];
}
乾杯。
オブジェクトの比較は避けたい
次のコードを変更します。
if ([productObject.pid isEqualToNumber number])
{
NSLog(@"BUY it!!!");
[purchasArray addObject:productObject];
}
これがお役に立てば幸いです。
'=='の代わりにcompareメソッドを試してください。
if([1stNum compare:secNum] == NSOrderedSame)
{
// do something
}
今役立つか教えてください!
このように使う
NSNumber *n=[[NSNumber alloc]init];
if([n isEqualToNumber:somenumber])
{
}