我是iOS开发人员的新手,所以我为我提出的任何和所有新问题道歉。在Swift中将PDF加载到我的WebView时,我似乎遇到了问题。 打印出Documents文档目录中的所有文件会导致:
文件:///用户/ adriandavidsmith /库/开发商/ CoreSimulator /设备/ B537EBE4-14AE-439A-B84B-31342E233367 /数据/容器/数据/应用/ E791BF20-CC53-4FBB-B34A-F73CED74EB5D /Documents/ST_Business%20Times_07022016.pdf
但是,当我尝试将该文件加载到WebView时,没有显示任何内容。好像无法找到文件一样。
if let pdf = NSBundle.mainBundle().URLForResource("ST_Business%20Times_07022016", withExtension: "pdf", subdirectory: "Documents", localization: nil){
let req = NSURLRequest(URL: pdf)
webView.loadRequest(req)
我确信我错过了一些非常小而令人沮丧的事情!
提前致谢!
答案 0 :(得分:7)
兼容Swift 3
library(data.table)
d.in <- data.table(
id=c(rep(1:2,each=4)),
time=c(1:4,1:4),
drugA=c(T,T,F,T, F,F,F,F),
drugB=c(F,F,F,F, T,F,F,F)
)
setkey(d.in, id,time)
答案 1 :(得分:1)
您是从捆绑包而不是从文档目录中获取它。
试试这个......
var pdf = (NSFileManager.defaultManager().URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask)).last as? NSURL
pdf = pdf?.URLByAppendingPathComponent( "ST_Business%20Times_07022016.pdf")
let req = NSURLRequest(URL: pdf)
webView.loadRequest(req)
答案 2 :(得分:1)
E791BF20-CC53-4FBB-B34A-F73CED74EB5D 是一个应用程序文件夹,其中包含您要查看的pdf文件的Documents文件夹。
这将给出Documents文件夹的路径。
let fileManager = NSFileManager.defaultManager()
let documentsUrl = fileManager.URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask)[0] as NSURL
print(documentsUrl)
您需要更改代码
let pdf = documentsUrl + "/<your pdf file name>"
let req = NSURLRequest(URL: pdf)
webView.loadRequest(req)
希望这适合你。
答案 3 :(得分:0)
在加载文件之前,请检查路径是否存在有效文件。
let webView : UIWebView!
webView = UIWebView()
webView.frame = self.view.bounds
self.view.addSubview(webView)
let PDF_FILE_PATH = NSBundle.mainBundle().pathForResource("ST_Business%20Times_07022016", ofType: "pdf")
let checkValidation = NSFileManager.defaultManager()
if (checkValidation.fileExistsAtPath(PDF_FILE_PATH!))
{
print("FILE AVAILABLE");
let req = NSURLRequest(URL: NSURL(string: PDF_FILE_PATH!)!)
webView.loadRequest(req)
}
else
{
print("FILE NOT AVAILABLE");
}