char non signé dans Swift

En Obj-C, ce code est utilisé pour convertir un NSData en un caractère non signé:

unsigned char *dataToSentToPrinter = (unsigned char *)malloc(commandSize); 

Dans Swift unsigned char est soi-disant appelé CUnsignedChar, mais comment puis-je convertir un object NSData à CUnsignedChar dans Swift?

Cela pourrait être ce que vous cherchez:

 let commandsToPrint: NSData = ... // Create char array with the required size: var dataToSentToPrinter = [CUnsignedChar](count: commandsToPrint.length, repeatedValue: 0) // Fill with bytes from NSData object: commandsToPrint.getBytes(&dataToSentToPrinter, length: sizeofValue(dataToSentToPrinter)) 

Mise à jour: En fait, vous n'avez pas du tout besoin de copyr datatables (ni dans le code Objective-C ni dans Swift). Il suffit d'avoir un pointeur sur datatables. Donc, votre code pourrait ressembler à ceci (comparez Error ("'()' n'est pas identique à 'UInt8'") écrire NSData octets à NSOutputStream en utilisant la fonction d'écriture dans Swift pour un problème similaire):

 let dataToSentToPrinter = UnsafePointer<CUnsignedChar>(commandsToPrint.bytes) let commandSize = commandsToPrint.length var totalAmountWritten = 0 while totalAmountWritten < commandSize { let remaining = commandSize - totalAmountWritten let amountWritten = starPort.writePort(dataToSentToPrinter, totalAmountWritten, remaining) totalAmountWritten += amountWritten // ... }