2017-02-02 3 views
0

Это говорит есть ошибка перегрузки, хотя я не знаю, почему он это говорит ...стремительных 3 Ошибки: Аргумент метки '(сосчитать :) не найдены доступные перегрузки

let value: UInt8 = 75 
    let sendData = (bytes: [value]) 
    let data = Data(sendData: UnsafePointer<UInt8>(sendData), count: sendData.count) 
    mainPeripheral!.writeValue(data, for: writeCharacteristic!, type: writeType) 

Я хочу отправить значение 75 через writeValue

ответ

0

В быстром 3, Data действительно соответствует протоколу Sequence, поэтому count аргумент больше не нужен:

let value: UInt8 = 75 
let data = Data([value]) 
mainPeripheral!.writeValue(data, for: writeCharacteristic!, type: writeType) 

В предыдущие версии Swift, параметр count был необходим, чтобы пройти через Data.

+0

лучшее объяснение, поэтому дал правильный ответ –

0

Ваше сообщение об ошибке означает, что класс Data не имеет функции func с сигнатурой: init (sendData: UnsafePointer, count: Int). Если у вас нет пользовательской инициализации для класса Data, это ожидаемое поведение.

1

В Swift 3 это гораздо проще, потому что Data соответствует Sequence

let value : UInt8 = 75 
let data = Data([value]) 
mainPeripheral!.writeValue(data, for: writeCharacteristic!, type: writeType)