2

複雑なロジックを持つプログラムがあります。パラメータ「a」の値を変更するさまざまな場所に多くの関数があります。

パラメータ "a" の正しい値は 0..10 の範囲内である必要がありますが、80 を超える場合があります

XCode は、式「if (a > 10) throws some exception」を 1 回だけ入力して、パラメータ「a」を間違った値に変更する場所を見つけることができるツールを提供していますか?

4

2 に答える 2

2

何かaのプロパティですか?その場合は、setter メソッドをオーバーライドして値を確認できます。

- (void)setA:(int)newA {
    if (newA > 10) {
        NSLog(@"Invalid value");
    }
    a = newA;
}

NSLog 行にブレークポイントを設定すると、無効な値が設定されるたびにそこで停止し、コール トレースを調べることができます。

于 2012-09-16T14:15:48.543 に答える
1

aの値を変更したときにこれを呼び出さずに、の値が変更されたときに例外がスローされるように設定する方法はわかりませんが、これで自分自身をa呼び出すことができます。NSException

if (a > 10) {
    [NSException raise:@"Invalid foo value" format:@"foo of %i is invalid", a];
}
于 2012-09-16T14:10:38.113 に答える