0

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

- (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]'

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

4

1 回答 1

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

if (detailIndex != 99)
    detailIndex++;
}
于 2012-07-29T19:56:25.763 回答