小编Pet*_*mpf的帖子

Swift:if 条件周围的括号会发生什么变化?

我尝试掌握 Swift 以及如何最好地将 nil 对象和有效对象与可选对象分开。

我有这个代码:

var my AwesomeDict = [:]()
...
... (myAwesomeDict gets populated)
...
let myOptionalObject:objectClass? = myAwesomeDict[key]
if let myUnwrappedObject = myOptionalObject {
    ...
} else {
    println("Sorry, object is nil")
}
Run Code Online (Sandbox Code Playgroud)

当我在 if 子句两边加上括号时(我觉得它提高了可读性),XCode 会用编译器错误标记该行:

模式变量绑定不能出现在表达式中

有什么不同之处

if (let myUnwrappedObject = myOptionalObject) {
Run Code Online (Sandbox Code Playgroud)

if let myUnwrappedObject = myOptionalObject {
Run Code Online (Sandbox Code Playgroud)

?遗憾的是,文档没有提及 if 条件周围的大括号的效果。看来我需要使用无括号版本,但想更了解其中的原因。

xcode swift

5
推荐指数
2
解决办法
1340
查看次数

将 BLE HID 设备连接到 iOS 主机的作用是什么?

我对通过低功耗蓝牙将 HID 设备连接到 iOS 主机有些困惑。

苹果在其蓝牙设计指南中说:

当第三方 iOS 应用程序发现配件上的服务时,以下服务由 iOS 内部使用,并从发现的服务列表中过滤掉:

  • 通用属性配置文件服务
  • 通用访问配置文件服务
  • 低功耗蓝牙 HID 服务
  • Apple 通知中心服务

那么如何将 BLE 键盘之类的东西连接到 iOS?应该使用 HID over GATT 配置文件的 BLE 设备如何向 iOS 主机宣布其 HID 服务?

如果我正确理解了文档,iOS 将不会报告从配件宣布的 BLE HID 服务,因此任何尝试连接的软件都不会发现有什么东西想要通过 HOGP 进行通信。这是外部键盘等的协议。同样,当 iOS 为自己声明该功能时,如何将 BLE 键盘之类的东西识别为 BLE HID 服务?

iphone hid ios bluetooth-lowenergy

5
推荐指数
0
解决办法
1319
查看次数

标签 统计

bluetooth-lowenergy ×1

hid ×1

ios ×1

iphone ×1

swift ×1

xcode ×1