2016-07-11 2 views
0

Мне нужна помощь! я делаю приложение, и мне нужно сказать, что «minorBeacon» выполняет глобальную переменную, потому что в другом ViewController я позвоню. но я не могу и другая проблема, это преобразовать эти данные в «Int»beacon minor variable global

func locationManager(manager: CLLocationManager, didRangeBeacons beacons: [CLBeacon], inRegion region: CLBeaconRegion) { 

    if let beacon = beacons.first { 
    var minorBeacon : Int = beacon.minor 
     print(minorBeacon) 


     } 

проблема говорит «не может преобразовать значение типа„NSNumber“для указанного типа„Int“» помогите мне пожалуйста !!

Спасибо, ребята! :)

+0

Что ты даже говоришь? – Alexander

ответ

1

Вы можете пользователем intValue, чтобы получить значение, NSNumber «s как Swift Int:

func locationManager(manager: CLLocationManager, didRangeBeacons beacons: [CLBeacon], inRegion region: CLBeaconRegion) { 

if let beacon = beacons.first { 
    var minorBeacon = beacon.minor.intValue 
    print(minorBeacon) 
} 
+0

спасибо! и как я могу назвать этот var "minorBeacon" в другом контроллере вида? Я пытаюсь с этим: var myCustomViewController: ViewController = ViewController (nibName: nil, bundle: nil) var linkInternet = myCustomViewController.minorBeacon – aloparz

+1

Возьмите хороший ресурс в дизайне iOS. Вы не можете просто создавать экземпляры ViewControllers. – Alexander

+0

Чтобы быть точным: 'intValue' возвращает' Int32', а 'integerValue' возвращает' Int'. –