2014-09-26 8 views
6

Burada https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIWebView_Class/index.html#//apple_ref/occ/instm/UIWebView/stringByEvaluatingJavaScriptFromString gösterildiği gibiSwift stringByEvaluatingJavaScriptFromString

Ben sözdizimi aşina yüzden

func stringByEvaluatingJavaScriptFromString("document.documentElement.style.webkitUserSelect='none'": String) -> String? 

çalıştı sessiz değilim yeni

stringByEvaluatingJavaScriptFromString fonksiyonu ile benim WebView'da bazı javascript kullanmayı deneyin: ama "Beklenen" bir hata alıyorum. ayırıcı"

aramak çalışıyoruz yöntem aşağıdaki prototyped

cevap

9

:

func stringByEvaluatingJavaScriptFromString(_ script: String) -> String?

Bunun anlamı şudur:

  • Tek parametre olarak bir String alır Bir döndürür
  • isteğe bağlı String (String?)

Bunu kullanmak için UIWebView bir örneğini olması gerekir: dönüş tipi optional olduğunu

let result = webView.stringByEvaluatingJavaScriptFromString("document.documentElement.style.webkitUserSelect='none'") 

Çünkü kullanmadan önce, bu açılmamış olması gerekir. Ancak dikkatli olun, bir değere sahip olmayabilir (yani nil'a eşit olabilir) ve istenmeyen nil değerleri çalışma zamanı çökmelerine neden olur.

if let returnedString = result { 
    println("the result is \(returnedString)") 
} 

Bunun anlamı şudur:: result değilse nil sonra ambalajından çıkarın ve returnedString adında yeni sabit atamak

Yani döndürülen dize kullanmadan önce bunun için kontrol etmeniz gerekir. Bu sana mantıklı

let script = "document.documentElement.style.webkitUserSelect='none'" 
if let returnedString = webView.stringByEvaluatingJavaScriptFromString(script) { 
    println("the result is \(returnedString)") 
} 

Hope:

Ayrıca, birlikte sarın.