我创建了一个这样的宏和一个定义:
#define CustomImageOptions NSDictionary
typedef NS_ENUM(NSInteger, CustomImageOption) {
CustomImageOptionResize, // CGSize
CustomImageOptionQuality, // CGFloat
CustomImageOptionType // NSString (JPEG or PNG)
};
我有这样的方法:
- (UIImage*)imageModifiedWithOptions:(CustomImageOptions*)options;
我想像这样向它传递一个选项字典(伪代码):
[self imageModifiedWithOptions:@{CustomImageOptionResize: CGSizeMake(10, 20), CustomImageQuality: 0.9}];
它不会编译,大概是因为我的宏是 NSInteger 类型的,它不能作为 NSDictionary 的键进行枚举。
如何实现这一点,以便可以将选项的 NSDictionary 传递给我的方法?