當我提供整數作爲參數需要某些枚舉類型時,是否有方法顯示警告?鎖整型轉換爲枚舉類型或至少顯示警告
// Enum definition
typedef NS_ENUM(NSUInteger, TVScheduleSortBy) {
TVScheduleSortByDisplayOrder,
TVScheduleSortBySlotStartDate,
TVScheduleSortBySlotEndDate
};
// Method declaration
- (void)sortBy:(TVScheduleSortBy)sortBy order:(SortDataOrder)order;
// Good case .. no warnings
[object sortBy:(TVScheduleSortByDisplayOrder) order:(SortDataOrderDefault)];
// Bad case .. I should get at least compiler warning
[object sortBy:(10) order:(SortDataOrderDefault)];
如何使用'typedef enum'而不是'NS_ENUM(NSUInteger,...)'? – trojanfoe
這種方法結合了上述所有方法中的優點,甚至爲編譯器提供了類型檢查和切換語句完整性的提示。 http://nshipster.com/ns_enum-ns_options/ – pawelini1
你試過了嗎? – trojanfoe