当前位置: 首页 > news >正文

objective-c中使用不定参数

主调方:
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);


    return adjustmentsEnabled;
}


+ (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;
}

相关文章:

  • 如何让2007Office兼容低版本的文档?
  • 对redux的理解
  • 从错误信息思考一个问题:.NET Framework 与 COM/COM+ 到底有多深入的关联呢?
  • 两年后小米市值在100亿美元以下
  • 10月16日培训日记
  • AppStore上发布应用,当天就过审了
  • 生榴莲的处理办法
  • [技术评论]龙芯电脑
  • window 远程登陆
  • 终于知到X.509、H.263等名字的来历了
  • China-Pub和Dearbook 谁的销售更厉害?
  • view controller 屏幕旋转的总结
  • 强制旋转UIAlertView
  • 我被中国计算机教育的现实打败了
  • Unable to simultaneously satisfy constraints
  • #Java异常处理
  • CSS 提示工具(Tooltip)
  • ES学习笔记(12)--Symbol
  • js
  • Linux编程学习笔记 | Linux多线程学习[2] - 线程的同步
  • Phpstorm怎样批量删除空行?
  • Python进阶细节
  • vagrant 添加本地 box 安装 laravel homestead
  • vue-loader 源码解析系列之 selector
  • 我建了一个叫Hello World的项目
  • 用jquery写贪吃蛇
  • #WEB前端(HTML属性)
  • (+3)1.3敏捷宣言与敏捷过程的特点
  • (1/2)敏捷实践指南 Agile Practice Guide ([美] Project Management institute 著)
  • (23)Linux的软硬连接
  • (9)目标检测_SSD的原理
  • (C语言)求出1,2,5三个数不同个数组合为100的组合个数
  • (Repost) Getting Genode with TrustZone on the i.MX
  • (论文阅读31/100)Stacked hourglass networks for human pose estimation
  • (顺序)容器的好伴侣 --- 容器适配器
  • (原)记一次CentOS7 磁盘空间大小异常的解决过程
  • (转)LINQ之路
  • .MyFile@waifu.club.wis.mkp勒索病毒数据怎么处理|数据解密恢复
  • .NET / MSBuild 扩展编译时什么时候用 BeforeTargets / AfterTargets 什么时候用 DependsOnTargets?
  • .net 8 发布了,试下微软最近强推的MAUI
  • .NET 8.0 中有哪些新的变化?
  • .NET Core Web APi类库如何内嵌运行?
  • .net core控制台应用程序初识
  • .NET/C# 判断某个类是否是泛型类型或泛型接口的子类型
  • []串口通信 零星笔记
  • [APIO2012] 派遣 dispatching
  • [AX]AX2012 R2 出差申请和支出报告
  • [bbk5179]第66集 第7章 - 数据库的维护 03
  • [CC2642R1][VSCODE+Embedded IDE+IAR Build+Cortex-Debug] TI CC2642R1基于VsCode的开发环境
  • [CISCN 2023 初赛]go_session
  • [codevs 2822] 爱在心中 【tarjan 算法】
  • [CTSC2014]企鹅QQ
  • [hive] 窗口函数 ROW_NUMBER()
  • [HNOI2010]BUS 公交线路
  • [IE技巧] 如何让IE 启动的时候不加载任何插件