gpt4 book ai didi

iphone - indexSetWithIndexesInRange 没有按预期进行

转载 作者:太空狗 更新时间:2023-10-30 03:47:27 25 4
gpt4 key购买 nike

我想从数组中选择一些对象。因此,我正在使用我选择的开始和结束索引。

NSLog(@"start:%d\nend:%d", startIndex, endIndex);
NSIndexSet *myIndexes = [NSIndexSet indexSetWithIndexesInRange:NSMakeRange(startIndex, endIndex)];
NSLog(@"%d", [myIndexes lastIndex]);

第一个 NSLog 给我

startIndex:49
endIndex:67

第二个 NSLog 给我

115

为什么我的最高数字是 115?它应该是 67。应用程序当然会崩溃:

Terminating app due to uncaught exception 'NSRangeException', reason: '* -[NSArray objectsAtIndexes:]: index 115 beyond bounds [0 .. 96]'

我做错了什么?

最佳答案

NSRange的成员是locationlength,不是startend。这意味着您需要像这样创建您的 NSRange 结构:

NSMakeRange(startIndex, endIndex - startIndex);

关于iphone - indexSetWithIndexesInRange 没有按预期进行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4018499/

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