3

Xcode 8.3Swift 3. 我已经编写了一个名为from the 的pdfFromData(data:)方法,每当我构建我的项目时,由于这种方法它没有得到构建,这意味着编译器在开始编译我编码方法的特定文件时被停止/挂起(在它工作正常)。每当我评论此方法并构建时,就意味着一切正常。pdf documentDatapdfFromData(data:)Xcode 8.2Swift 3

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

}

这种方法有什么问题?我也想用这种方法构建我的项目。提前致谢。

4

1 回答 1

3

我尝试调试您的问题。这是我发现的:

if let pdfData = data as? CFData {

}

上面用于将类型对象转换为的行DataCFData花费太多时间来构建的地方。

用下面的代码替换它会显着减少你的构建时间。

let pdfNsData: NSData = NSData(data: data) // convert `Data` to `NSData`

if let cfPdfData: CFData = pdfNsData as? CFData { 
// cast `NSData` to `CFData`

}

NSData并且CFData是免费桥接的。

如果有任何疑问,请告诉我

于 2017-04-17T10:23:49.500 回答