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,并将它们与我知道对应的两个手动设置数字进行比较.记录它们时检查数字,它们是相同的.但是条件不接受它们是相等的因此不会触发.
我看不出有什么不对,你可以看到它非常简单.
有什么想法或建议吗?
谢谢.
您正在比较对象(内存中的地址),您需要比较它们的值:
if ([incommingMinor intValue] == [beaconMinor intValue])
Run Code Online (Sandbox Code Playgroud)