2015-05-28 46 views
-2

我下載了一些數據(pfg文件或html文檔),並且想要在UIWebView中顯示它。如果我有路徑,我應該寫什麼來顯示路徑中的數據?與NSURL顯示數據

let documentsDirectoryURL = NSFileManager().URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask).first as! NSURL 
+0

讓我們試試這個'let url = NSBundle.mainBundle()。URLForResource(「FileName」,withExtension:「html」)''。讓我知道它是否有效。 –

+0

@JaleelNazir我不知道該文件的名稱,我試圖用它下載它讓s =「http://www.qdtricks.com/wp-content/uploads/2015/02/hd-wallpapers-1080p-for- mobile.png「 let url = NSURL(string:s)! 讓REQ = NSMutableURLRequest(網址:URL) 令任務= self.session.downloadTaskWithRequest(REQ) self.task =任務 task.resume() – GodlikeRabbit

+0

來[聊天室](HTTP://chat.stackoverflow。 com/rooms/78976/swift-webview) –

回答

0

在iOS中,您無法在應用程序包中寫入文件 - 整個包是隻讀的。改爲在「文檔」文件夾中使用路徑。

我希望它幫的你......

let myURLString = "http://google.com" 
    var myHTMLString : NSString! 

    if let myURL = NSURL(string: myURLString) { 
     var error: NSError? 
     myHTMLString = NSString(contentsOfURL: myURL, encoding: NSUTF8StringEncoding, error: &error) 

     if let error = error { 
      println("Error : \(error)") 
     } else { 
      //    println("HTML : \(myHTMLString)") 
     } 
    } else { 
     println("Error: \(myURLString) doesn't seem to be a valid URL") 

    } 


    let file = "file.html" 

    if let dirs : [String] = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.AllDomainsMask, true) as? [String] { 
     let dir = dirs[0] //documents directory 
     let path = dir.stringByAppendingPathComponent(file); 
     let text = myHTMLString 

     //writing 
     text.writeToFile(path, atomically: false, encoding: NSUTF8StringEncoding, error: nil); 

     //reading 
     let text2 = String(contentsOfFile: path, encoding: NSUTF8StringEncoding, error: nil) 

    // var text2 : NSString = NSString.stringWithContentsOfURL(NSURL(string: "http://google.com"), encoding: NSUTF8StringEncoding, error: nil) as NSString 

    var htmlString:String! = text2 
    myWebView.loadHTMLString(htmlString, baseURL: nil) 

但是,在JavaScript文件是不行的

OR

您可以添加文件到捆綁,並將其加載到你的網頁流量。

let paths = NSBundle.mainBundle().URLForResource("File", withExtension:"html", subdirectory: "Pages") 
// let paths = NSBundle.mainBundle().URLForResource("File", withExtension:"html") 

println("HTML : \(paths)") 
var request = NSURLRequest(URL:paths!); 
myWebView.loadRequest(request)