我有以下问题。我在下面使用此代码,我得到了问题
“变量'特征'从未发生变异;请考虑更改为 '让'不变“
for var characteristic:CBCharacteristic in service.characteristics ?? [] {
print(str)
_selectedPeripheral!.writeValue(str.dataUsingEncoding(NSUTF8StringEncoding)!, forCharacteristic: characteristic, type: CBCharacteristicWriteType.WithoutResponse)
}
当我改为“let”时,会出现错误:
'let'模式不能嵌套在已经不可变的上下文中
为什么建议我进行更改,然后将其标记为错误?
答案 0 :(得分:64)
您只需删除var
,即可创建代码:
for characteristic in service.characteristics ?? [] {
print(str)
_selectedPeripheral!.writeValue(str.dataUsingEncoding(NSUTF8StringEncoding)!, forCharacteristic: characteristic, type: CBCharacteristicWriteType.WithoutResponse)
}
因为默认情况下characteristic
是不可变的。