主调方:
1、
[GammaController adjustmentForKeysEnabled:@"dimEnabled", @"rgbEnabled", @"whitePointEnabled", nil]
va_list args;
va_start(args, firstKey);
BOOL adjustmentsEnabled = [GammaController adjustmentForKeysEnabled:firstKey withParameters:args];
va_end(args);
}
GammaController.h
+ (BOOL)adjustmentForKeysEnabled:(NSString *)firstKey, ... NS_REQUIRES_NIL_TERMINATION;
+ (BOOL)adjustmentForKeysEnabled:(NSString *)firstKey withParameters:(va_list)valist;
GammaController.m
+ (BOOL)adjustmentForKeysEnabled:(NSString *)firstKey, ... {
va_list args;
va_start(args, firstKey);
BOOL adjustmentsEnabled = [self adjustmentForKeysEnabled:firstKey withParameters:args];
}
+ (BOOL)adjustmentForKeysEnabled:(NSString *)firstKey withParameters:(va_list)valist
{
BOOL adjustmentsEnabled = NO;
for (NSString *arg = firstKey; arg != nil; arg = va_arg(valist, NSString*))
{
if ([groupDefaults boolForKey:arg]){
adjustmentsEnabled = YES;
break;
}
}
return adjustmentsEnabled;
}
1、
[GammaController adjustmentForKeysEnabled:@"dimEnabled", @"rgbEnabled", @"whitePointEnabled", nil]
2、
+ (BOOL)checkAlertNeededWithViewController:(UIViewController*)vc andExecutionBlock:(void(^)(UIAlertAction *action))block forKeys:(NSString *)firstKey, ... {va_list args;
va_start(args, firstKey);
BOOL adjustmentsEnabled = [GammaController adjustmentForKeysEnabled:firstKey withParameters:args];
va_end(args);
}
GammaController.h
+ (BOOL)adjustmentForKeysEnabled:(NSString *)firstKey, ... NS_REQUIRES_NIL_TERMINATION;
+ (BOOL)adjustmentForKeysEnabled:(NSString *)firstKey withParameters:(va_list)valist;
GammaController.m
+ (BOOL)adjustmentForKeysEnabled:(NSString *)firstKey, ... {
va_list args;
va_start(args, firstKey);
BOOL adjustmentsEnabled = [self adjustmentForKeysEnabled:firstKey withParameters:args];
va_end(args);
}
+ (BOOL)adjustmentForKeysEnabled:(NSString *)firstKey withParameters:(va_list)valist
{
BOOL adjustmentsEnabled = NO;
for (NSString *arg = firstKey; arg != nil; arg = va_arg(valist, NSString*))
{
if ([groupDefaults boolForKey:arg]){
adjustmentsEnabled = YES;
break;
}
}
return adjustmentsEnabled;
}
本文介绍了一个名为 GammaController 的 Objective-C 类,该类提供了用于检查特定调整功能是否启用的方法。通过使用可变参数列表,此方法可以接受多个键来检查不同的调整功能状态。
145

被折叠的 条评论
为什么被折叠?



