Voglio creare pdf nella directory dei documenti e voglio dare i numeri di pagina quindi ho bisogno dell'oggetto CGPDFDocumentRef.Crash whille Conversione da NSURL a 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)
Ho percorso file convertito in url ma questa riga in basso genera un arresto anomalo e non so perché ..?
let pdfDocumentRef: CGPDFDocumentRef = CGPDFDocumentCreateWithURL(localUrl as CFURLRef)!
Avete qualche uscita dallo schianto? Inoltre, prova ad estrarre 'localUrl come CFURLRef' su una riga separata e vedi se questo è' nil' per caso, immagino che questo sia il tuo problema. – pbodsk
@pbodsk: Sì, restituisce zero e non so perché ..? questa riga restituisce CGPDFDocumentCreateWithURL (localUrl come CFURLRef)! nil. Sebbene localUrl abbia un percorso file. –
In Swift, non è necessario nominare esplicitamente il tipo di una variabile se Swift può inferire il tipo. Ad esempio, 'let path: NSArray = NSSearchPathForDirectoriesInDomains (.DocumentDirectory, .UserDomainMask, true)' può essere facilmente rappresentato come 'let path = NSSearchPathForDirectoriesInDomains (.DocumentDirectory, .UserDomainMask, true)', con il bonus aggiuntivo di Swift conoscendo i tipi usato dall'array è un 'String'. – MaddTheSane