gpt4 book ai didi

objective-c - 将 int 与存储在字典中的数字进行比较

转载 作者:行者123 更新时间:2023-11-28 19:14:34 26 4
gpt4 key购买 nike

我有一个字典数组,其中有一个整数键值,我想像这样将这个键值与另一个 int 进行比较......

while ([myInt != [[sortedArray valueForKey:@"MODID"] objectAtIndex:count]]) {

我的计划是循环遍历字典数组,直到找到匹配的条目我将计数值传递到我需要使用它的地方。

但是我得到这个作为我的警告....然后当它执行时它永远找不到匹配的值..

Comparison between pointer and integer ('int' and 'id')

我在同一行也遇到了错误

Implicit conversion of 'int' to 'id' is disallowed with ARC

最佳答案

问题是,您不能将原语存储在字典中。所以你永远无法像那样正确比较。那里正在发生的事情是您正在将对象的地址与它进行比较。不太可能匹配。

使用以下命令获取字典对象的整数值

while (myInt != [[[sortedArray valueForKey:@"MODID"] objectAtIndex:count] integerValue]) {

根据我对您的数据结构的了解,我会选择这样的东西。

for(NSDictionary *d in sortedArray){
NSArray *subarray = [d objectForKey:@"MODID"];
for(int i=0; i<[subarray count]; i++){
if( [[subarray objectAtIndex:i] integerValue] == myInt){
//you have found it, do whatever you need, and break from the loop
}
}

关于objective-c - 将 int 与存储在字典中的数字进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13188884/

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