小编unb*_*ant的帖子

Swift:具有字典属性的Hashable结构

我在Swift中有一个结构,如下所示:

internal struct MapKey {
    internal let id: String
    internal let values: [String:String]
}
extension MapKey: Equatable {}
func ==(lhs: MapKey, rhs: MapKey) -> Bool {
    return lhs.id == rhs.id && lhs.values == rhs.values
}
Run Code Online (Sandbox Code Playgroud)

我现在需要使用MapKey作为Swift字典中的键,这需要MapKey符合Hashable协议.

对于像这样的结构,Hashable的正确实现是什么?

extension MapKey: Hashable {
    var hashValue: Int {
        return ??? // values does not have a hash function/property.
    }
}
Run Code Online (Sandbox Code Playgroud)

我一直在做一些研究,但未能确定散列字典的正确方法是什么,因为我需要能够为values属性本身生成散列值.任何帮助深表感谢.

hashable swift equatable

6
推荐指数
1
解决办法
2105
查看次数

与Wifi Direct连接的p2p信号强度?

我正在看看Android的WifiDirect演示,并想知道是否有可能在两个连接的设备之间获得RSSI或信号强度.

对不起,如果问题没有意义,我知道可以从接入点获取RSSI,但我想知道的是,如果RSSI的概念存在于Wifi Direct中的设备之间的p2p连接中.

感谢您的时间.

android rssi wifi-direct

3
推荐指数
1
解决办法
4398
查看次数

将十六进制值保存到C++字符串

我有一个简单的问题,但无法在互联网上找到答案.我正在使用Windows的本地WiFi API并尝试获取接入点的MAC.

在WLAN_BSS_ENTRY类型的结构中,有一个名为dot11Bssid的字段,它基本上是一个包含6个无符号字符的数组.

我想要做的是将MAC地址放在std :: string中,如下所示:'AA:AA:AA:AA:AA:AA'.

我可以像这样打印地址:

for (k = 0; k < 6; k++) 
{
    wprintf(L"%02X", wBssEntry->dot11Bssid[k]);
}
Run Code Online (Sandbox Code Playgroud)

但是我无法找到将此值移动到具有上述格式的字符串的方法.

如果你想知道我为什么要在字符串中使用它,我需要帮助,我需要将它与以这种方式格式化的字符串进行比较.在此先感谢您的时间.

c++

3
推荐指数
1
解决办法
5938
查看次数

标签 统计

android ×1

c++ ×1

equatable ×1

hashable ×1

rssi ×1

swift ×1

wifi-direct ×1