Tôi muốn tạo pdf trong thư mục tài liệu và muốn cung cấp số trang cho nên tôi cần đối tượng CGPDFDocumentRef.Whash whille Chuyển đổi NSURL sang CFURL
let fileName: NSString = "test.pdf"
let path:NSArray = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)
let documentDirectory: AnyObject = path.objectAtIndex(0)
let pdfPathWithFileName = documentDirectory.stringByAppendingPathComponent(fileName as String)
UIGraphicsBeginPDFContextToFile(pdfPathWithFileName as String, CGRectZero, nil)
let ref : CGContextRef = UIGraphicsGetCurrentContext()!
let localUrl = NSURL.fileURLWithPath(pdfPathWithFileName)
Tôi đã chuyển đổi đường dẫn tệp trong url nhưng dòng dưới đây tạo ra sự cố và tôi không biết tại sao ..?
let pdfDocumentRef: CGPDFDocumentRef = CGPDFDocumentCreateWithURL(localUrl as CFURLRef)!
Bạn có bất kỳ đầu ra nào từ sự cố không? Ngoài ra, hãy thử giải nén 'localUrl thành CFURLRef' thành một dòng riêng biệt và xem đó có phải là' nil' hay không bởi bất kỳ cơ hội nào, tôi đoán rằng đây là nơi bạn gặp sự cố. – pbodsk
@pbodsk: Có, nó trả về nil và tôi không biết tại sao ..? dòng này trả về CGPDFDocumentCreateWithURL (localUrl là CFURLRef)! không. Mặc dù localUrl có đường dẫn tệp. –
Trong Swift, bạn không cần phải đặt tên rõ ràng kiểu mà một biến là nếu Swift có thể suy ra kiểu. Ví dụ, 'let path: NSArray = NSSearchPathForDirectoriesInDomains (.DocumentDirectory, .UserDomainMask, true)' có thể dễ dàng được biểu diễn như là 'let path = NSSearchPathForDirectoriesInDomains (.DocumentDirectory, .UserDomainMask, true)', với phần thưởng thêm của Swift biết các kiểu được sử dụng bởi mảng là một 'Chuỗi'. – MaddTheSane