2017-01-04 6 views
0

ich meinen Code swift 3. umgewandelt Und ich unten eine Fehlermeldung anzeigt:Argument Etiketten (UUIDString) 'passen nicht alle verfügbaren Überlastungen

Argument labels '(UUIDString)' do not match any available overloads

locationManager.delegate = self 
    if (CLLocationManager.authorizationStatus() != CLAuthorizationStatus.authorizedWhenInUse) { 
     locationManager.requestWhenInUseAuthorization() 
    } 
    let region = CLBeaconRegion(proximityUUID: UUID(UUIDString: "E2C56DB5-DFFB-48D2-B060-D0F5A71096E0"), identifier: "ru.techmas.techbeacon") 
    locationManager.startRangingBeaconsInRegion(region) 

Wer über diesen Fehler erfahren? (My Xcode-Version ist 8.2)

+0

Ein Hinweis für solche Fälle: ⌘ Sie auf dem Klassensymbol oder geben ⇧⌘0 (Null), die Klassennamen (UUID) in dem Suchfeld eingeben und die Syntax in der Header-Datei/Dokumentation nachschlagen . – vadian

Antwort

0

Initializer von UUID geändert, um init?(uuidString:) so Ihr Parameterfeld uuidString ändern und es ist optional UUID? Instanz zurückkehren, so dass Sie die optionale Instanz gewickelt müssen. mit if let statt Kraft Wickel

let region = CLBeaconRegion(proximityUUID: UUID(uuidString: "E2C56DB5-DFFB-48D2-B060-D0F5A71096E0")!, identifier: "ru.techmas.techbeacon") 

Sie können auch optional optional ausgepackt.

if let uuidStr = UUID(uuidString: "E2C56DB5-DFFB-48D2-B060-D0F5A71096E0") { 
    let region = CLBeaconRegion(proximityUUID: uuidStr, identifier: "ru.techmas.techbeacon") 
} 
+0

Wenn es jetzt funktioniert, bitte akzeptieren Sie meine Antwort, wenn Sie nicht wissen, wie man die Antwort akzeptiert, überprüfen Sie diesen Link http://meta.stackexchange.com/a/5235/346600 –

Verwandte Themen