im пытается создать демонстрационное приложение с использованием маяков оценки. Я хочу, чтобы приложение открывало конкретный диспетчер просмотра, когда пользователь находится рядом с маяком. im, используя performseguueithidentifier, но когда приложение запускается, открывается только первый контроллер представления, представляющий первый маяк, который находится в диапазоне, и он не открывает другие, когда я иду рядом с другими маяками. он как-то просто останавливается для других маяков. ниже код им с помощью ранжировать для маяков:performseguireithidentifier с iBeacons
func beaconManager(manager: AnyObject, didRangeBeacons beacons: [CLBeacon],
inRegion region: CLBeaconRegion) {
let knownBeacons = beacons.filter{ $0.proximity != CLProximity.Unknown}
if (knownBeacons.count > 0) {
let closestBeacon = knownBeacons [0] as CLBeacon
if(closestBeacon.minor.integerValue==50557){
performSegueWithIdentifier("VC1", sender: nil)
}
else if(closestBeacon.minor.integerValue==37890){
performSegueWithIdentifier("VC2", sender: nil)
}
else if(closestBeacon.minor.integerValue==18976){
performSegueWithIdentifier("VC3", sender: nil)
}
else {
self.view.backgroundColor = UIColor.brownColor()
}
Является ли код, показанный в приложении appDelegate? Являются ли названные segues связанными только с единственным контроллером viewController? Вы уверены, что их нашли? Если бы установить точки останова или добавить инструкции NSLog, чтобы увидеть, какая ветвь оператора if выполняется. – davidgyoung
@ davidgyoung no, код находится в главном контроллере view, и каждый segue связан с определенным контроллером представлений (ни один), и да, они находятся. зависит от того, какой маяк я запускаю приложение, он показывает только тот, и он не «запускает» другой сегмент, когда я иду рядом с другим маяком. однако, когда я закрываю приложение, и я иду рядом с другим маяком, он открывает его. но я хочу, чтобы segues автоматически отображали связанные контроллеры view, когда я приближаюсь к этому маяку (с данным незначительным значением) –