《Objective-C 局部变量》 一文中简要地介绍了局部变量。这里要谈的是局部变量的一个广泛应用,方法的参数。执行方法时,通过方法传递的任何参数都被复制到局部变量中。因为方法使用参数的副本,所以不能改变通过方法传递的原值。这是一个重要概念。假设有个名为 calculate: 的方法,其定义如下: -(void) calculate: (double) x { x *= 2; ... } 并假设使用以下消息表达式来调用它: [myData calculate: ptVal]; 执行 calculate 方法时,ptVal 变量所含的任何值都被复制到局部变量 x。所以改变 calculate 中 x 的值,对 ptVal 的值没有影响,只影响 x 变量的数据副本。 BTW,如果参数是对象,可以更改其中的实例变量值。