次の問題があります。以下のコードを使用すると、問題が発生します
「変数「特性」は変更されませんでした。「定数」に変更することを検討してください」
for var characteristic:CBCharacteristic in service.characteristics ?? [] {
print(str)
_selectedPeripheral!.writeValue(str.dataUsingEncoding(NSUTF8StringEncoding)!, forCharacteristic: characteristic, type: CBCharacteristicWriteType.WithoutResponse)
}
「let」に変更すると、エラーが発生します。
'let'パターンは、すでに不変のコンテキストでネストされているようには見えません
なぜ変更を推奨し、後でエラーとしてマークするのですか?
var
を削除して、コードを作成するだけです。
for characteristic in service.characteristics ?? [] {
print(str)
_selectedPeripheral!.writeValue(str.dataUsingEncoding(NSUTF8StringEncoding)!, forCharacteristic: characteristic, type: CBCharacteristicWriteType.WithoutResponse)
}
characteristic
はデフォルトで不変であるためです。