2016-10-08 3 views
0
var country = "" 
if placemark.country != nil{ 
     country = placemark.country! 
    } 
self.awareLocationDetaile.text = country 

Try schätzen diesen Code guard Anweisung zu konvertierenguard Anweisung Variable geben Sie nicht mir

guard let country = placemark.country else{       
    return  
} 
self.awareLocationDetaile.text = country 

aber unglückliche Land keinen Wert haben, wenn ich Wache verwenden Aussage, wo wenn mir Wert. Was vermisse ich ?

UPDATE:

 CLGeocoder().reverseGeocodeLocation(location) { (clPlacemark :[CLPlacemark]?,error : NSError?) in 
      if error != nil { 
       print(error) 
      }else{ 
       if let placemark = clPlacemark?[0]{ 
       // print(placemark) 
        //MARK:- we are a good programmer 
//     var country = "" 
//     if placemark.country != nil{ 
//      country = placemark.country! 
//     } 
//     self.awareLocationDetaile.text = country 


        guard let country = placemark.country else{ 

         return 

        } 


        self.awareLocationDetaile.text = country 
       } 

      } 
     } 
+0

@pedrouan Bitte überprüfen Sie meine Update-Abschnitt –

+0

Versuchen Sie eine Antwort unten. – pedrouan

+0

@pedrouan dieser Fehler werfen: - von der Zeichenfolge downcast? nur die Optionale auspacken; Wolltest du '!' . was soll ich machen ? –

Antwort

3

Die Wache Anweisung funktioniert genau so, wie es funktionieren soll. Du verpasst nichts. Es tut, was es tun soll, nicht was du willst. Ihr erstes Codebeispiel kann viel einfacher als

self.awareLocationDetaile.text = placemark.country ?? "" 

geschrieben wird Es scheint, dass Sie einen Kommentar kopiert, dass die Königin schrieb, nachdem sie ihre erste Codezeile im Alter von 89. Beachten Sie die königlichen „uns“ schrieben:

//MARK:- we are a good programmer 

Auf der anderen Seite, die return-Anweisung innerhalb der Schutzerklärung wird Rückkehr von der Schließung, also nichts danach ausgeführt.

Verwandte Themen