这似乎是一个相对简单的问题,但我遇到了错误。我正在开发一个 iBeacon 项目,该项目将根据用户最接近的 iBeacon 向用户显示不同的消息。我已经从发射器设置了主要值和次要值,然后尝试在不同的类中调用它们,但我收到错误提示“预期标识符”
self.majorLabel.text = [NSString stringWithFormat:@"%@", beacon.major];
self.minorLabel.text = [NSString stringWithFormat:@"%@", beacon.minor];
self.accuracyLabel.text = [NSString stringWithFormat:@"%f", beacon.accuracy];
if (([beacon.minor] == 1) && ([beacon.major] == 2) && (beacon.proximity == CLProximityFar)) {
self.distanceLabel.text = @"Good Bye";
self.distanceLabel.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@""]];
我这里有什么地方做错了吗?
最佳答案
哪一行出错,错误的确切文本是什么?我猜这是 if 语句,因为这是您的代码中唯一包含信标次要值和主要值的行。
什么是变量“beacon”?它是 CLBeacon 类型的吗?我想是的。
CLBeacon 对象(以及 CLBeaconRegion 对象)的主要和次要值属性是 NSNumber,而不是整数。因此你的 if 语句应该是
if (([[beacon.minor] integerValue] == 1) &&
([[beacon.major] integerValue] == 2) &&
(beacon.proximity == CLProximityFar))
{
}
关于ios - iBeacon 错误 : Setting up major and minor id's,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21001186/