我有一个逻辑复杂的程序。在不同位置有许多函数可以更改参数“ a”的值。

参数“ a”的正确值应在0..10的范围内,但有时会变得大于80

XCode是否提供某种工具,使我只能一次输入表达式“ if(a> 10)抛出某些异常”,然后找到将参数“ a”更改为不正确值的位置?

最佳答案

a是某物的属性吗?如果是,则可以覆盖setter方法并检查值:

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


您可以在NSLog行上设置一个断点,只要设置了无效值,该断点就会在该处停止,您可以检查调用跟踪。

10-08 04:38