2016-08-04 11 views
2

Ich habe eine Funktion in Xcode 6.2, wo ich eine URL von Webview vergleichen und es mit einer statischen Zeichenfolge vergleichen möchte. Ich mache es so:Vergleichen NSURL String und einfache Swift String

func webViewDidFinishLoad(webView: UIWebView){ 
     let currentURL = webView.request?.URL 
     print("Webview did finish load ") 
     println(currentURL) 



     if (webView.request?.URL == "Optional(http://addi.star.com/adminpanel/first.php/login)") 
     { 

     println("voilaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") 

     // code for dissming the view 
     //self.dismissViewControllerAnimated(true, completion: nil) 

     } 
    } 

... aber es funktioniert nicht. Kann jemand bitte erklären, wie ich currentURL mit statischer URL vergleichen kann, damit ich die Ansicht ablehnen kann? Ich glaube, ich bin die Art fehlt es erfolgreich zu vergleichen, aber es muss ein Weg, dies zu tun ...

+0

Wie kann ich den hart codierten Wert mit webView.request vergleichen? .URL –

+1

Warum vergleichen Sie mit einem String, wo „Optional (“ eingebettet ist, eindeutig aus Versehen? Enthülle die statischer URL-Wert zuerst, bevor Sie eine Zeichenkette daraus machen // Haben Sie auch einen bestimmten Grund, Xcode 6 zu verwenden? Sie sollten ein Upgrade durchführen - Swift hat sich sehr weiterentwickelt – Moritz

+0

Ich bin neu in der Entwicklung und dem Lernen von Dingen und wie sie funktionieren herum können Sie mir zeigen, wie ich es richtig wie in Beispiel tun muss, damit ich in meinem Lernen vorwärts gehen kann .. und das System, das ich verwende, ist verpflichtet, xcode 6.2 zu verwenden, bitte helfen Sie mir, das Problem –

Antwort

5

vergleichen nur String

if (webView.request?.url?.absoluteString == "http://addi.star.com/adminpanel/first.php/login"){ 
    //code 
} 
+0

gut war es so einfach ... danke Mann, du bist ein Lebensretter .... –

0
func webViewDidFinishLoad(webView: UIWebView){ 
      let currentURL = webView.request?.URL 
      print("Webview did finish load ") 
      println(currentURL) 

    if let urlStr = webView?.request?.URL?.absoluteString where urlStr == "http://addi.star.com/adminpanel/first.php/login"{ 
     println("voilaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") 

      // code for dissming the view 
      //self.dismissViewControllerAnimated(true, completion: nil) 

    } 


     } 

hoffe, dies wird Ihnen helfen.

+0

OP benutzt Xcode 6. Ich denke 'where' erschien in Swift 2.2 (Xcode 7). – Moritz