dev*_* gr 2 enums objective-c ios
我有一个委托函数,要求UIActivityIndicatorViewStyle从委托。
@protocol StatusViewCustomizationDelegate <NSObject>
@optional
-(UIActivityIndicatorViewStyle)activityIndicatorStyle;
@end
Run Code Online (Sandbox Code Playgroud)
在私有函数中,我检查委托是否响应此选择器,如果响应,则调用该方法。下面是代码:
-(void)configureView
{
UIActivityIndicatorViewStyle activityIndicatorStyleFromDelegate;
if ([self.delegate respondsToSelector:@selector(activityIndicatorViewStyle)])
{
activityIndicatorStyleFromDelegate = [self.delegate activityIndicatorStyle];
}
}
Run Code Online (Sandbox Code Playgroud)
检查我在activityIndicatorStyleFromDelegate变量中收到的枚举值是有效的UIActivityIndicatorViewStyle枚举值的正确方法是什么?
编辑:
UIActivityIndicatorViewStyle是iOS定义的枚举。
typedef NS_ENUM(NSInteger, UIActivityIndicatorViewStyle) {
UIActivityIndicatorViewStyleWhiteLarge,
UIActivityIndicatorViewStyleWhite,
UIActivityIndicatorViewStyleGray,
};
Run Code Online (Sandbox Code Playgroud)
通常,在检查枚举值时,您只能使用以下两种方法之一。
如果枚举值是连续的,则可以检查该值是否在其范围内:
if (activityIndicatorStyle >= UIActivityIndicatorViewStyleWhiteLarge &&
activityIndicatorStyle <= UIActivityIndicatorViewStyleGray) {
NSLog(@"Good");
} else {
NSLog(@"Bad");
}
Run Code Online (Sandbox Code Playgroud)
否则,您只需要依次测试每个值:
switch (activityIndicatorStyle) {
case UIActivityIndicatorViewStyleGray:
case UIActivityIndicatorViewStyleWhite:
case UIActivityIndicatorViewStyleWhiteLarge:
NSLog(@"Good");
break;
default:
NSLog(@"Bad");
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2213 次 |
| 最近记录: |