Разница между приращением префикса / постфикса в вызове метода Objective C? - PullRequest
2 голосов
/ 02 октября 2011

Я понимаю разницу между префиксной и постфиксной нотацией в простом C.

Однако мне было интересно, применяются ли те же правила к вызовам метода Objective C, как

[myObject foo:++i];

[myObject foo:i++];

Или «внутреннее выражение C» всегда вычисляется первым, два вызова метода, таким образом, дают один и тот же результат?

Ответы [ 3 ]

4 голосов
/ 02 октября 2011

Да, применяются те же правила. Obj-c является строгим надмножеством c, поэтому все вещи, которые работают в c, будут работать точно так же в Objective-c.

++i

Увеличивает i перед вызовом метода, поэтому эти два метода не дадут одинакового результата (если, конечно, результат зависит от значения i). Один вызывается после увеличения i, другой вызывается до.


2 голосов
/ 02 октября 2011

Почему бы не попробовать и не узнать?

В результате получается, что версия префикса работает до вызова метода. Постфикс работает после вызова метода.

1 голос
/ 02 октября 2011

это то же самое, что и C. ObjC - это расширенный набор C.

...