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 に答える