gpt4 book ai didi

ios - 如何从 NSDictionary (iOS) 中的键/值对中提取值

转载 作者:塔克拉玛干 更新时间:2023-11-02 10:08:47 24 4
gpt4 key购买 nike

在 XCode 中调试时,调试器告诉我 NSDictionary 对象包含 1 个键/值对。当调试控制台打印键/值对的描述时显示:

Printing description of testdictionary:
{
"Unknown (<1809>)" = <000000ff>;
}

我想同时提取 <1809> 和 <000000ff>。我已经尝试了本网站其他地方描述的 valueForKey 和 objectforKey 方法。但我想我很难理解什么是关键,什么是这里的值(value)。

例如是"Unknown (<1809>)" key ?或者是 "<1809>" key ?或者是 1809 key ?


感谢蒂姆的回复。

NSDictionary 来自 CoreBluetoothFramework didDiscoverPeripheral: 方法被调用并将广告数据传递到名为“advertisementData”的 NSDictionary。

这本词典包含各种内容,例如广告 channel 和设备名称。但是,我试图从“advertisementData”中提取广告数据。我使用了 corebluetooth“CBAdvertisementDataServiceDataKey”提供的 key ,如下所示:

NSData* information;
information = [advertisementData objectForKey:CBAdvertisementDataServiceDataKey];

我之前将“信息”声明为 NSDictionary* 对象。但在阅读更多 Apple 文档后将其更改为 NSData*。结果是一样的。调试器说它包含一个键/值对,如下所示:

"Unknown (<1809>)" = <000000ff>;

再次感谢。

尼克

最佳答案

当您不知道字典中存在的键时,例如,因为键值对来自外部源,您可以使用enumerateKeysAndObjectsUsingBlock:方法遍历所有键-字典中存在的值对:

[testdictionary enumerateKeysAndObjectsUsingBlock::^(id key, id object, BOOL *stop) {
NSLog(@"The key is %@", key);
NSLog(@"The value is %@", object);
}];

关于ios - 如何从 NSDictionary (iOS) 中的键/值对中提取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18932559/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com