Objective-C方法调用中前缀/后缀增量之间的差异?

时间:2011-10-02 15:51:12

标签: objective-c operators

我理解普通C中前缀和后缀表示法之间的区别。

然而,我想知道相同的规则是否适用于Objective-C方法调用,如

[myObject foo:++i];

[myObject foo:i++];

或者“内部C表达式”总是先评估,这两个方法调用会产生相同的结果吗?

3 个答案:

答案 0 :(得分:4)

是的,适用相同的规则。 Obj-c是c的严格超集,因此在c中工作的所有东西在Objective-c中都可以完全相同。

++i

在调用方法之前会增加i,因此这两个方法不会产生相同的结果(假设,当然,结果取决于i的值)。一个在i递增后调用,另一个在之前调用。


答案 1 :(得分:2)

为什么不尝试并找出来?

结果如前所述,前缀版本在方法调用之前运行。后缀在方法调用之后运行。

答案 2 :(得分:1)

与C相同.ObjC是C的超集。

相关问题