gpt4 book ai didi

ios - 使用 ObjectAtIndex 在 NSArray 中查找 NSRange 的位置(索引)

转载 作者:行者123 更新时间:2023-11-28 22:01:13 27 4
gpt4 key购买 nike

我试图在 NSArray 中找到这个 NSRange 位置(索引):

NSValue *findRangeValue = [NSValue valueWithRange:NSMakeRange(146, 143)];

我可以使用 indexOfObject:

方法找到位置
NSUInteger integer = [mutArray indexOfObject:findRangeValue];
//This returns (5) which is correct!

但是,如何仅通过 NSRange 的长度 (143) 找到 NSRange 在我的 NSArray 中的位置(索引),并获得与上述相同的结果?

  • 提前致谢,丹

最佳答案

您可以在数组上使用 indexOfObjectPassingTest: 方法。

 int desiredRange = 152;
NSUInteger integer = [objects indexOfObjectPassingTest:^BOOL(id obj, NSUInteger idx, BOOL *stop) {
NSValue *range = (NSValue*)obj;
if([range rangeValue].length == desiredRange)
{
*stop = true;
return YES;
}
return NO;
}];

由于您只检查对象的一部分,因此可能有多个对象与您的搜索相匹配。如果你需要这些东西的数组,你可以通过数组进行自定义搜索,或者你可以根据你的搜索结果创建一个数组(永远不要返回你找到正确的结果,它会在你填写答案时继续搜索数组)。

关于ios - 使用 ObjectAtIndex 在 NSArray 中查找 NSRange 的位置(索引),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25040077/

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