Чтобы сделать это, вы должны изменить исходное определение типа, включив в него новое значение:
typedef enum {
UIModalTransitionStyleCoverVertical = 0,
UIModalTransitionStyleFlipHorizontal,
UIModalTransitionStyleCrossDissolve,
UIModalTransitionStylePartialCurl,
UIModalTransitionStyleCoverVerticalFlipped
} UIModalTransitionStyle;
В противном случае вы можете рискнуть, если оно не работает, и определить его отдельно:
typedef enum {
UIModalTransitionStyleCoverVertical = 0,
UIModalTransitionStyleFlipHorizontal,
UIModalTransitionStyleCrossDissolve,
UIModalTransitionStylePartialCurl,
} UIModalTransitionStyle;
typedef enum {
UIModalTransitionStyleCoverVerticalFlipped =
UIModalTransitionStylePartialCurl + 1
} ExtendedUIModalTransitionStyle;
Переменная, которая может содержать исходное перечисление, будет обычно также отлично работать, когда / если вы также назначите новое значение (в типичном случае это будет просто * 1009)*) - но это не гарантировано.По крайней мере, теоретически, реализация может / может назначить несколько битов, достаточных для хранения этого перечисления, так что добавление большего количества значений таким способом не сработает.Он также может выполнять проверку диапазона, поэтому назначение любого вне значения диапазона не допускается.Ничто из этого не является общим, так что с практической точки зрения это, вероятно, не проблема, но с теоретической точки зрения, ничто не гарантирует, что подобный код будет работать.