飞利浦 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 中的主要内容,如果未能解决你的问题,请参考以下文章