gpt4 book ai didi

ios - 当键是 NSNumber 时,我可以调用 nsdictionary 的 valueForKeyPath 吗?

转载 作者:行者123 更新时间:2023-11-28 22:00:57 25 4
gpt4 key购买 nike

我有一个名为“optionsDictionary”的 NSDictionary 属性。该字典中的对象之一是嵌套字典,它根据问题的答案保存问题的评分数据。该对象的关键是“分数”。

optionsDictionary = 
{
"score":{
6747:{
"a":"scoring data for answer 'a' to question with ID 6747"
"b":"scoring data for answer 'b' to question with ID 6747"
}
3653:{
"a":"scoring data for answer 'a' to question with ID 3653"
"b":"scoring data for answer 'b' to question with ID 3653"
}
}
}

我正在尝试通过执行以下操作来获取评分数据:

NSString* scoringData = [self.optionsDictionary valueForKeyPath:[NSString stringWithFormat:@"score.%@.%@",question.qID,question.qAnswer]];

我知道如果所有键都是字符串,这将完美地工作,但问题 ID 键(6747 和 3653)是 NSNumber。我仍然可以将 valueForKeyPath 与路径中的一个键作为 NSNumber 一起使用吗?

感谢您的帮助!

最佳答案

为什么你使用 NSKeyValueCoding 协议(protocol)方法?!?!

你最好尝试使用 NSDictionary 方法:

objectForKey:

尝试以字符串形式获取 NSDictionary 键,例如:

NSDictionary* scoringData = self.optionsDictionary[@"score"];

顺便说一下,您的 JSON 无效,您最好在每个键值对象 (json) 之间添加 ,(逗号)并将 2 个或更多 json 收集到数组 [] 中:

{
"optionsDictionary" :
{
"score":{
"6747":[
"a":"scoring data for answer 'a' to question with ID 6747",
"b":"scoring data for answer 'b' to question with ID 6747"
],
"3653":[
"a":"scoring data for answer 'a' to question with ID 3653",
"b":"scoring data for answer 'b' to question with ID 3653"
]
}
}
}

关于ios - 当键是 NSNumber 时,我可以调用 nsdictionary 的 valueForKeyPath 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25116701/

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