Из swift 3 удалили инкремент и декремент (++/--).
Эти операторы увеличивают бремя изучения Swift как первого языка программирования - или любого другого случая, когда вы еще не знаете этих операторов с другого языка.
Их выразительное преимущество минимально - х ++ не намного короче х + = 1.
Swift уже отклоняется от C в том смысле, что =, + = и другие операции, подобные назначению, возвращают Void (по ряду причин). Эти операторы несовместимы с этой моделью.
Swift имеет мощные функции, которые устраняют многие из распространенных причин, по которым вы используете ++ i в цикле for в стиле C на других языках, поэтому они относительно редко используются в хорошо написанном коде Swift. Эти функции включают цикл for-in, диапазоны, перечисление, отображение и т. Д.
Код, который фактически использует значение результата этих операторов, часто вводит в заблуждение и тонок для читателя / сопровождающего кода. Они поощряют «чрезмерно хитрый» код, который может быть симпатичным, но трудным для понимания.
Хотя Swift имеет четко определенный порядок оценки, любой код, который зависит от него (например, foo (++ a, a ++)), будет нежелательным, даже если он будет четко определен.
Эти операторы применимы к относительно небольшому числу типов: целочисленные скаляры и скаляры с плавающей точкой, а также итератороподобные концепции. Они не применяются к комплексным числам, матрицам и т. Д.
Наконец, они не соответствуют метрике «если бы у нас их еще не было, мы бы добавили их в Swift 3?»