斯威夫特:"模糊地提及成员"在里面

时间:2017-03-29 10:01:17

标签: swift xcode

关于此主题有几篇帖子,但我无法在其中看到这个问题的答案。以下行产生标题错误:

let pdf_url = NSURL.fileURL(withPath: inputfile)
let pdf_doc = PDFDocument.init?(url: pdf_url) as! URL

我知道init方法可以采用各种数据类型,但我确实已经明确表示我想要一个URL。

错误信息是:

error: ambiguous reference to member 'init(url:)'

可能与之相关的一个问题是Xcode偶尔会告诉我在第一行使用URL而不是NSURL,但后来却抱怨URL没有fileURL方法。 (我也试过CGPDFDocument,但是想要一个CFURL,并且不会接受NSURL,即使它们应该是"免费桥接"。)

2 个答案:

答案 0 :(得分:1)

使用URL

let pdf_url = URL(fileURLWithPath: inputfile)

答案 1 :(得分:1)

发生错误是因为您(尝试)将PDFDocument强制转换为URL。

你可能意味着

a127 project edit

但推荐的Swift 3语法是

PDFDocument.init?(url: pdf_url as! URL) 

请使用 - Swift - 驼峰案例变量名称而不是--javascript / php - snake case。