2016-08-04 2 views
2

У меня есть функция в Xcode 6.2, где я хочу сравнить URL-адрес, возвращенный из webview, и сравнить его со статической строкой. Я делаю так:Сравнить NSURL String и простая строка Swift

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) 

     } 
    } 

... но это не работает. Может кто-нибудь объяснить, как я могу сравнить currentURL со статическим URL-адресом, чтобы я мог отклонить представление? Я думаю, что я пропускаю типы успешно сравнить его, но должна быть способом сделать это ...

+0

Как я могу сравнить трудно закодированное значение с webView.request? .url –

+1

Почему вы сравните со строкой, где «Дополнительно (» вложена, очевидно, по ошибке? Разворачивать статическое значение URL-адреса сначала, прежде чем создавать его строку. // Кроме того, есть ли у вас конкретная причина использовать Xcode 6? Вы должны обновить - Swift развился очень много. – Moritz

+0

Я новичок в разработке и изучении ios, а также о том, как они работают Вы можете показать мне, как я должен делать это правильно, как в примере, так что я могу двигаться вперед в своем обучении .. и система, которую я использую, обязана использовать xcode 6.2. помогите мне решить проблему –

ответ

5

просто сравнить

снабжать струной, тетивой и т.п.
if (webView.request?.url?.absoluteString == "http://addi.star.com/adminpanel/first.php/login"){ 
    //code 
} 
+0

ну, это было так просто ... thanx man, вы - спасательная жизнь .... –

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) 

    } 


     } 

Надеется, что это поможет.

+0

OP использует Xcode 6. Я думаю, что 'where' появился в Swift 2.2 (Xcode 7). – Moritz

Смежные вопросы