飞利浦 HUE SDK 在 Swift 中

Posted

技术标签:

【中文标题】飞利浦 HUE SDK 在 Swift 中【英文标题】:Phillips HUE SDK in Swift 【发布时间】:2015-02-18 20:30:10 【问题描述】:

我对 Swift 很陌生!我确实有一些使用 Objective-C 的经验(尽管自从我真正用它写过任何东西以来已经过去了大约两年)。我正在尝试将 Phillips HUE SDK 与 Swift 一起使用,但遇到了一些麻烦!我正在尝试将以下 Objective-C 代码重写为 Swift:

// Start search for bridges
[self.bridgeSearch startSearchWithCompletionHandler:^(NSDictionary *bridgesFound) 
   //Search complete
   [self showBridgesFound:bridgesFound];

我没有运气在网上寻找解决方案,也没有通过 Phillips 提供的文档。有没有人有这方面的经验,可以帮忙吗?

【问题讨论】:

从 ObjC 翻译到 Swift 真的很容易。到目前为止你有什么?你可能快到了。显示您的翻译,让我们修复它。 @matt 我必须从周一的工作笔记本电脑上获取我尝试的确切代码。另外,我不确定为什么这被否决 - 似乎是一个合理的问题。 我不会完全称将一些 Objective-C 代码扔在墙上并要求 SO 将其翻译成 Swift 为你“合法”,不。 SO 的目的不就是帮助有问题的开发者吗?也许这不是一个非常复杂的问题,但是对于一个非常新的 swift 和相对缺乏 Objective-C 经验的人来说,我应该只是困惑地坐着吗?我花了很多时间试图在网上找到解决方案并了解问题,但被卡住了。 没有人建议您只是坐在混乱中。还记得我的第一条评论吗? “从 ObjC 翻译到 Swift 真的很容易。到目前为止你有什么?你可能快到了。展示你的翻译,让我们修复它。”我正在帮助你把它变成一个很好的 SO 问题,然后我很乐意帮助你解决它。从那时起,您的回应就是抱怨,而您仍然没有发布您尝试的翻译。 【参考方案1】:

棘手的部分是找出 Swift 等效的 NSDictionary 的语法。

self.bridgeSearch.startSearchWithCompletionHandler  (bridgesFound: [NSObject : AnyObject]!) -> Void in
    self.showBridgesFound(bridgesFound)

【讨论】:

啊,我得试试这个(当我周一回到我的工作电脑时)。我有一些非常相似但有错误,希望这就是我所需要的 - 谢谢:) @5T4TiC:你们有飞利浦 HUE swift 集成的示例代码吗?【参考方案2】:
self.bridgeSearch!.startSearch  (bridgesFound: [AnyHashable : Any]!) -> Void in
            //self.showBridgesFound(bridgesFound)
            print(bridgesFound)
        

我认为您需要根据this answer 在 swift 3 中使用 [AnyHashable : Any]。

【讨论】:

以上是关于飞利浦 HUE SDK 在 Swift 中的主要内容,如果未能解决你的问题,请参考以下文章

使用室内地理围栏控制飞利浦 Hue 灯泡

当环境光低于 X 时打开飞利浦 HUE 灯

使用 Applescript 和 cURL 控制飞利浦 Hue 照明系统

如何远程连接后端服务与飞利浦 Hue Bridge?

csharp 飞利浦Hue API

谁能告诉 API 添加灯泡飞利浦 Hue Bridges?