У меня возникли проблемы с преобразованием строк в UnsafeMutablePointers и из него. Следующий код не работает, возвращая неправильную строку.Строки кодирования и декодирования с использованием UnsafeMutablePointer в Swift
// func rfcommChannelData(rfcommChannel: IOBluetoothRFCOMMChannel!, data dataPointer: UnsafeMutablePointer<Void>, length dataLength: Int)
func receivingData(data dataPointer: UnsafeMutablePointer<Void>, length dataLength: Int) {
let data = NSData(bytes: dataPointer, length: dataLength)
println("str = \(NSString(data: data, encoding: NSASCIIStringEncoding))")
}
// - (IOReturn)writeSync:(void *)data length:(UInt16)length;
func sendingData(data: UnsafeMutablePointer<Void>, length: UInt16) {
receivingData(data: data, length: Int(length))
}
var str: NSString = "Hello, playground"
var data = str.dataUsingEncoding(NSASCIIStringEncoding)!
var bytes = data.bytes
sendingData(&bytes, UInt16(data.length))
Ссылка на файл детской площадки является here. Если у кого-то есть опыт использования UnsafeMutablePointers в Swift для строк, я бы очень признателен за некоторые рекомендации, поскольку за последние несколько дней я не добился прогресса. Еще раз спасибо!
Большое вам спасибо! Это сработало отлично! – user2844801