试图在Swift中找出CompletionHandler?

时间:2017-11-26 00:54:19

标签: ios objective-c swift macos philips-hue

所以我尝试使用Phillips HUE灯进行一些编程,我已经制作了一个桥接头并输入了必要的信息以使用Swue的Hue SDK,但是所有的指导都是为了Objective-C的。我在Swift中理解/声明这个函数时遇到了麻烦:

// Start search for bridges
[self.bridgeSearch startSearchWithCompletionHandler:^(NSDictionary *bridgesFound) {

    // Search is complete, handle results (dictionary contains IP and mac addresses of bridges found)

    [self showBridgesFound:bridgesFound];
}

当我在Swift中调用它时,我输入了bridgeSearch.startSearch(),Xcode会自动将它添加到Completion处理程序

//Search for bridges
let bridgeSearch: PHBridgeSearching = PHBridgeSearching()        
bridgeSearch.startSearch { ([AnyHashable : Any]?) in
        //code
}

我知道如何将信息(找到的IP地址)存储在Obj-C中的NSDictionary中,但是我不知道在将IP地址存储到某种数据结构方面该怎么做。

谢谢!

1 个答案:

答案 0 :(得分:2)

问题仅在于您没有为传入参数指定任何名称。给它一个:

bridgeSearch.startSearch { bridgesFound in
    // code involving bridgesFound
}