我将Xcode 8.3
与Swift 3
一起使用。我编写了一个名为pdfFromData(data:)
的方法,从Data
形成pdf document
,每当我构建项目时,由于此方法而无法构建,这意味着编译器在开始编译我编码pdfFromData(data:)
方法的特定文件时被停止/挂起(与Swift 3
Xcode 8.2
它工作正常)。每当我评论此方法和构建时,都意味着一切正常。
func pdfFromData(data: Data) -> CGPDFDocument? { // Form pdf document from the data.
if let pdfData = data as? CFData {
if let provider = CGDataProvider(data: pdfData) {
let pdfDocument = CGPDFDocument(provider)
return pdfDocument
}
}
return nil
}
这种方法有什么问题?我也想用这种方法构建我的项目。提前谢谢。
我尝试调试您的问题。这是我发现的:
if let pdfData = data as? CFData {
}
上面用于将类型为Data
的对象转换为CFData
的行是构建需要花费太多时间的地方。
将其替换为以下代码段可显著缩短构建时间。
let pdfNsData: NSData = NSData(data: data) // convert `Data` to `NSData`
if let cfPdfData: CFData = pdfNsData as? CFData {
// cast `NSData` to `CFData`
}
NSData
和CFData
是免费桥接电话。
如果有任何疑问,请告诉我