我有一個枚舉一個Objective-C文件等被定義:枚舉與NS_ENUM的rawValue初始化定義不會失敗
typedef NS_ENUM(NSInteger, State) {
State_ACTIVE = 0,
State_PENDING = 1,
State_CANCELED = 2
};
在我的SWIFT代碼,如果我做let state = State(rawValue: 100)
,通常這應該返回nil
,因爲這是一個失敗的初始化程序。但是,當enum被聲明爲(與NS_ENUM
)時,初始化成功,並且沒有跡象表明這是一個無效的枚舉值。這是Xcode中的錯誤,還是按照預期工作?
即意,比較http://stackoverflow.com/questions/29570133/how-to-determine-if-無證值換NS-枚舉與-迅速-1-2。 –