简单的条件失败

mrE*_*pty 0 conditional objective-c ios

我有一个简单的条件失败:

 NSNumber *beaconMajor = [NSNumber numberWithInt:33995];
NSNumber *beaconMinor = [NSNumber numberWithInt:59204];
NSNumber *incommingMajor = beacon.major;
NSNumber *incommingMinor = beacon.minor;

NSLog(@"%d", [beaconMajor integerValue]);
NSLog(@"%d", [incommingMajor integerValue]);

NSLog(@"Pre big conditional");

//if the beacon is the one for the test content AND we are very near to it, show that content
if (incommingMinor == beaconMinor) {
    NSLog(@"Into big conditional");
    if (beacon.proximity == CLProximityImmediate) {
        [self performSegueWithIdentifier:@"mainToContent" sender:self];
    }
}
Run Code Online (Sandbox Code Playgroud)

我正在抓住两个来自iBeacon的NSNumber,并将它们与我知道对应的两个手动设置数字进行比较.记录它们时检查数字,它们是相同的.但是条件不接受它们是相等的因此不会触发.

我看不出有什么不对,你可以看到它非常简单.

有什么想法或建议吗?

谢谢.

Ant*_* MG 6

您正在比较对象(内存中的地址),您需要比较它们的值:

if ([incommingMinor intValue] == [beaconMinor intValue])
Run Code Online (Sandbox Code Playgroud)