旁注:如果标题具有误导性,我想道歉。无法找到这个问题的更好标题。
我将NDHTMLtoPDF库导入了我的Xcode应用程序。
在库的演示中,这是他们使用库的方式:
class NDViewController :UIViewController, NDHTMLtoPDFDelegate
{
var PDFCreator:NDHTMLtoPDF?
[...]
@IBAction func generatePDFUsingDelegate( sender:AnyObject ){
self.resultLabel?.text = "loading..."
let tt:NSString = ("~/Documents/delegateDemo.pdf" as NSString).stringByExpandingTildeInPath
self.PDFCreator = NDHTMLtoPDF.createPDFWithURL(NSURL(string:"http://edition.cnn.com/2012/11/12/business/china-consumer-economy/index.html?hpt=hp_c1")!, pathForPDF:tt, delegate: self, pageSize: CGSizeMake(595.2,841.8), margins:UIEdgeInsetsMake(10, 5, 10, 5)) as? NDHTMLtoPDF;
}
}
在我的应用程序中,我做同样的事情:我将PDFCreator
变量声明为NDHTMLtoPDF?
类型,我在我使用库实例的类声明中添加了NDHTMLtoPDFDelegate
,并且我在我的方法中编写了以下代码:
let tt:NSString = ("~/Documents/delegateDemo.pdf" as NSString).stringByExpandingTildeInPath
self.PDFCreator = NDHTMLtoPDF!.createPDFWithHTML("Hello", pathForPDF: tt, pageSize: CGSizeMake(595.2,841.8), margins:UIEdgeInsetsMake(36, 36, 36, 36))
每次输入self.PDFCreator = NDHTMLtoPDF!.
时,我只会获得以下方法的自动填充功能:
createPDFWithHTML(self:NDHTMLToPDF)
createPDFWithURL(self:NDHTMLToPDF)
如果我输入self.PDFCreator = NDHTMLtoPDF.
,Xcode会抱怨这是ambiguous reference to member <insert_member_here>
。
但是,如果我self.PDFCreator.
,我会突然获得createPDFWithURL( URL:NSURL ,pathForPDF PDFpath:NSString ,delegate:AnyObject ,pageSize:CGSize ,margins pageMargins:UIEdgeInsets )
作为自动填充选项。我试图仅使用它来运行我的代码,但事实证明该方法永远不会被调用(我通过在方法中添加print
调用来检查。)
我真的很茫然。
感谢您提供的任何帮助!
如果您需要任何额外代码,请与我们联系。