附註:如果標題有誤導性,我想表示歉意。找不到這個問題的更好的標題。Swift:無法訪問聲明庫中的方法
我將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
調用來檢查)。
我很茫然。
謝謝你提供的任何幫助!
如果您需要任何額外的代碼,請告訴我。