【发布时间】:2015-05-21 09:42:30
【问题描述】:
我正在尝试从找到的 CBService 中读取 CBCharacteristic 值,但我不断收到错误消息
fatal error: unexpectedly found nil while unwrapping an Optional value
我的代码如下
func peripheral(peripheral: CBPeripheral!, didDiscoverCharacteristicsForService service: CBService!, error: NSError!)
{
for characteristic in service.characteristics as! [CBCharacteristic]
{
peripheral.readValueForCharacteristic(characteristic)
}
}
检查以确保 CBService 不为零,并且看起来是正确的。任何人都知道打开此列表的正确快速方法吗?
【问题讨论】:
-
尝试使用 if let x = service.characteristics as! [CBCharacteristic] 在 for 循环之前。将 for 循环放入 if let 中。
-
大多数时候,你应该只使用
!,当你100%确定访问它时它不会是nil。
标签: xcode swift for-loop core-bluetooth optional