gpt4 book ai didi

objective-c - indexOfObject 不正确匹配

转载 作者:行者123 更新时间:2023-12-03 16:39:04 24 4
gpt4 key购买 nike

我已经被这个问题困扰了几天,但我无法摆脱它。我在网上进行了搜索,但找不到任何有用的内容来解决我的问题。

这就是场景。

我有一个字符串数组,其中包含从 coredata sqlite 数据库获取的一堆 id 和我想知道该数组中某个元素的索引。

我的第一个解决方案就像使用indexOfObject一样简单

-(NSInteger) getPageId:(NSString *)symbol_id {
NSInteger refId = [myIds indexOfObject:symbol_id];
// .. stuff ..
return refId;
}

现在,不知道为什么,函数的返回值总是NSNotFound。如果我通过 NSLog 打印出值

NSLog(@"%@\n%@", myIds, symbol_id);

我可以清楚地看到我正在搜索的值已包含在数组的元素中。

我什至尝试了一个最愚蠢的解决方案,例如通过 isEqual 函数将匹配探测到 for 循环:

int idx = 0;
for(NSString *tok in myIds) {
if([tok isEqual:synmbol_id])
{
NSLog(@"yay, a match was encountered!!");
return idx;
}
idx++;
}

但是执行永远不会进入 NSLog。

我不知道该往哪里敲头。

希望你们中的一些人已经明白了这一点并向我解释这一点。

提前致谢

k

最佳答案

尝试打印数组上的所有元素,如下所示:

for(NSString *tok in myIds) {
NSLog(@"On the array [%@]", tok);
}

也许你的NSString中有一个TAB \t、一个ENTER \n或者一些奇怪的东西阻止了isEqual 消息按预期运行。通常这些字符很难在常规调试器上找到。这就是为什么我建议将字符串括在 [] 中。

关于objective-c - indexOfObject 不正确匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4852342/

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