swipeDetected void中的索引100超出界限0 ... 99错误

时间:2012-07-21 01:11:58

标签: iphone xcode arrays dictionary bounds

这里工作正常。如果我尝试从索引中的第一个对象向右(向后)滑动,则不会发生任何事情。

- (void)swipeDetectedRight:(UISwipeGestureRecognizer *)sender
{
if (detailIndex != 0)
    detailIndex--;  

Label.text = [[detailsDataSource objectAtIndex: detailIndex] valueForKey:@"Text"];
}

但是当我在最后一个条目(nr 100)并向左滑动时,它会崩溃。下面是左边的代码:

- (void)swipeDetectedLeft:(UISwipeGestureRecognizer *)sender
{
    if (detailIndex != [detailsDataSource count])
        detailIndex++;


    Label.text = [[detailsDataSource objectAtIndex: detailIndex] valueForKey:@"Text"];
}

错误消息:

- [__ NSArrayI objectAtIndex:]:索引100超出界限[0 .. 99]'

如何正确设置边界以使其不会滑过最后一个对象?

1 个答案:

答案 0 :(得分:0)

- (void)swipeDetectedLeft:(UISwipeGestureRecognizer *)sender
{

if (detailIndex != 99)
    detailIndex++;
}