Swift PDFDocument return 文件和 url 为零
Swift PDFDocument return nil for files and urls
我想在 iOS 应用程序中使用 PDFView 显示 PDF 文件。我在我的项目目录中添加了一个名为 merlin.pdf 的文件。我还检查了 merlin.pdf 是否包含在构建阶段的复制包资源中。但是,PDFDocument returns 仍然是零。这是我正在使用的代码:
import UIKit
import PDFKit
class ReaderViewController: UIViewController {
// MARK: - Properties
@IBOutlet weak var pdfView: PDFView!
override func viewDidLoad() {
super.viewDidLoad()
let url = Bundle.main.url(forResource: "merlin", withExtension: "pdf")
let pdfDocument = PDFDocument(url: url!)
pdfView.document = pdfDocument
pdfView.displayMode = PDFDisplayMode.singlePageContinuous
pdfView.autoScales = true
// Do any additional setup after loading the view.
}
}
在 pdfView.document = pdfDocument
抛出致命错误。
然后,我尝试了一个在线 link 到 PDF 文件。调试时,我可以看到 let pdfDocument = PDFDocument(url: url!)
正在从互联网上下载文件。但是,它又像上次一样失败了。这是代码:
import UIKit
import PDFKit
class ReaderViewController: UIViewController {
// MARK: - Properties
@IBOutlet weak var pdfView: PDFView!
override func viewDidLoad() {
super.viewDidLoad()
let url = URL(string: "https://arxiv.org/pdf/1803.10760.pdf")
let pdfDocument = PDFDocument(url: url!)
pdfView.document = pdfDocument
pdfView.displayMode = PDFDisplayMode.singlePageContinuous
pdfView.autoScales = true
// Do any additional setup after loading the view.
}
}
我该怎么办?
也许您错过了在界面生成器中为您的 pdfView 插座设置视图的 class?
因为你的代码很好,适合我。
奇怪的是,问题出在 @IBOutlet weak var pdfView: PDFView!
中的 weak
关键字。删除 weak
使代码工作。
感谢@klinki 提及 outlet。
我想在 iOS 应用程序中使用 PDFView 显示 PDF 文件。我在我的项目目录中添加了一个名为 merlin.pdf 的文件。我还检查了 merlin.pdf 是否包含在构建阶段的复制包资源中。但是,PDFDocument returns 仍然是零。这是我正在使用的代码:
import UIKit
import PDFKit
class ReaderViewController: UIViewController {
// MARK: - Properties
@IBOutlet weak var pdfView: PDFView!
override func viewDidLoad() {
super.viewDidLoad()
let url = Bundle.main.url(forResource: "merlin", withExtension: "pdf")
let pdfDocument = PDFDocument(url: url!)
pdfView.document = pdfDocument
pdfView.displayMode = PDFDisplayMode.singlePageContinuous
pdfView.autoScales = true
// Do any additional setup after loading the view.
}
}
在 pdfView.document = pdfDocument
抛出致命错误。
然后,我尝试了一个在线 link 到 PDF 文件。调试时,我可以看到 let pdfDocument = PDFDocument(url: url!)
正在从互联网上下载文件。但是,它又像上次一样失败了。这是代码:
import UIKit
import PDFKit
class ReaderViewController: UIViewController {
// MARK: - Properties
@IBOutlet weak var pdfView: PDFView!
override func viewDidLoad() {
super.viewDidLoad()
let url = URL(string: "https://arxiv.org/pdf/1803.10760.pdf")
let pdfDocument = PDFDocument(url: url!)
pdfView.document = pdfDocument
pdfView.displayMode = PDFDisplayMode.singlePageContinuous
pdfView.autoScales = true
// Do any additional setup after loading the view.
}
}
我该怎么办?
也许您错过了在界面生成器中为您的 pdfView 插座设置视图的 class?
因为你的代码很好,适合我。
奇怪的是,问题出在 @IBOutlet weak var pdfView: PDFView!
中的 weak
关键字。删除 weak
使代码工作。
感谢@klinki 提及 outlet。