Потому что UITableViewStylePlain
объявлен как:
typedef enum {
UITableViewStylePlain,
UITableViewStyleGrouped
} UITableViewStyle;
А UITableViewCellStyleDefault
объявляется как:
typedef enum {
UITableViewCellStyleDefault,
UITableViewCellStyleValue1,
UITableViewCellStyleValue2,
UITableViewCellStyleSubtitle
} UITableViewCellStyle;
В обоих случаях значение, о котором вы говорите, является первым в enum
, что означает, что они оба скомпилируются в 0
. Следовательно, они являются «взаимозаменяемыми» (хотя вы определенно не должны полагаться на это поведение в рабочем коде).