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

code

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

//
// 摘自Masonry
// 文件MASUtilities.h
// 
// 参数列表
static inline id _MASBoxValue(const char *type, ...) {
    va_list v;
    va_start(v, type);
    id obj = nil;
    if (strcmp(type, @encode(id)) == 0) {
        id actual = va_arg(v, id);
        obj = actual;
    } else if (strcmp(type, @encode(CGPoint)) == 0) {
        CGPoint actual = (CGPoint)va_arg(v, CGPoint);
        obj = [NSValue value:&actual withObjCType:type];
    } else if (strcmp(type, @encode(CGSize)) == 0) {
        CGSize actual = (CGSize)va_arg(v, CGSize);
        obj = [NSValue value:&actual withObjCType:type];
    } /*else if (strcmp(type, @encode(MASEdgeInsets)) == 0) {
        MASEdgeInsets actual = (MASEdgeInsets)va_arg(v, MASEdgeInsets);
        obj = [NSValue value:&actual withObjCType:type];
    } */else if (strcmp(type, @encode(double)) == 0) {
        double actual = (double)va_arg(v, double);
        obj = [NSNumber numberWithDouble:actual];
    } else if (strcmp(type, @encode(float)) == 0) {
        float actual = (float)va_arg(v, double);
        obj = [NSNumber numberWithFloat:actual];
    } else if (strcmp(type, @encode(int)) == 0) {
        int actual = (int)va_arg(v, int);
        obj = [NSNumber numberWithInt:actual];
    } else if (strcmp(type, @encode(long)) == 0) {
        long actual = (long)va_arg(v, long);
        obj = [NSNumber numberWithLong:actual];
    } else if (strcmp(type, @encode(long long)) == 0) {
        long long actual = (long long)va_arg(v, long long);
        obj = [NSNumber numberWithLongLong:actual];
    } else if (strcmp(type, @encode(short)) == 0) {
        short actual = (short)va_arg(v, int);
        obj = [NSNumber numberWithShort:actual];
    } else if (strcmp(type, @encode(char)) == 0) {
        char actual = (char)va_arg(v, int);
        obj = [NSNumber numberWithChar:actual];
    } else if (strcmp(type, @encode(bool)) == 0) {
        bool actual = (bool)va_arg(v, int);
        obj = [NSNumber numberWithBool:actual];
    } else if (strcmp(type, @encode(unsigned char)) == 0) {
        unsigned char actual = (unsigned char)va_arg(v, unsigned int);
        obj = [NSNumber numberWithUnsignedChar:actual];
    } else if (strcmp(type, @encode(unsigned int)) == 0) {
        unsigned int actual = (unsigned int)va_arg(v, unsigned int);
        obj = [NSNumber numberWithUnsignedInt:actual];
    } else if (strcmp(type, @encode(unsigned long)) == 0) {
        unsigned long actual = (unsigned long)va_arg(v, unsigned long);
        obj = [NSNumber numberWithUnsignedLong:actual];
    } else if (strcmp(type, @encode(unsigned long long)) == 0) {
        unsigned long long actual = (unsigned long long)va_arg(v, unsigned long long);
        obj = [NSNumber numberWithUnsignedLongLong:actual];
    } else if (strcmp(type, @encode(unsigned short)) == 0) {
        unsigned short actual = (unsigned short)va_arg(v, unsigned int);
        obj = [NSNumber numberWithUnsignedShort:actual];
    }
    va_end(v);
    return obj;
}


//
// NSValue类型@encode
// 文件 MASConstraint.m
//
- (void)setLayoutConstantWithValue:(NSValue *)value {
    if ([value isKindOfClass:NSNumber.class]) {
        self.offset = [(NSNumber *)value doubleValue];
    } else if (strcmp(value.objCType, @encode(CGPoint)) == 0) {
        CGPoint point;
        [value getValue:&point];
        self.centerOffset = point;
    } else if (strcmp(value.objCType, @encode(CGSize)) == 0) {
        CGSize size;
        [value getValue:&size];
        self.sizeOffset = size;
    } else if (strcmp(value.objCType, @encode(MASEdgeInsets)) == 0) {
        MASEdgeInsets insets;
        [value getValue:&insets];
        self.insets = insets;
    } else {
        NSAssert(NO, @"attempting to set layout constant with unsupported value: %@", value);
    }
}


转载于:https://my.oschina.net/petsatan/blog/525485

相关文章:

  • Service-stack.redis 使用PooledRedisClientManager 速度慢的原因之一
  • [Linux] - 定时任务crontab
  • 30分钟让你了解MongoDB基本操作(转)
  • There is already an open DataReader associated with this Command which must be closed first
  • 部署Exchange2013
  • Windows server 2008 R2配置路由和***
  • 业务
  • OK335x mksd.sh hacking
  • c#获取url请求的返回值(转)
  • ios开发 xcode6以上安装Alcatraz管理插件
  • 部署与管理ZooKeeper
  • linux内核移植X86平台的例子
  • 【BZOJ】3526: [Poi2014]Card
  • 解决mysql查询中文乱码问题
  • js字符串 数组处理
  • 【许晓笛】 EOS 智能合约案例解析(3)
  • angular学习第一篇-----环境搭建
  •  D - 粉碎叛乱F - 其他起义
  • ES6核心特性
  • input的行数自动增减
  • javascript面向对象之创建对象
  • Java反射-动态类加载和重新加载
  • laravel5.5 视图共享数据
  • linux安装openssl、swoole等扩展的具体步骤
  • TCP拥塞控制
  • vue2.0项目引入element-ui
  • vue学习系列(二)vue-cli
  • 持续集成与持续部署宝典Part 2:创建持续集成流水线
  • 电商搜索引擎的架构设计和性能优化
  • 后端_MYSQL
  • 基于MaxCompute打造轻盈的人人车移动端数据平台
  • 前端技术周刊 2018-12-10:前端自动化测试
  • 原生js练习题---第五课
  • 中国人寿如何基于容器搭建金融PaaS云平台
  • AI又要和人类“对打”,Deepmind宣布《星战Ⅱ》即将开始 ...
  • 曜石科技宣布获得千万级天使轮投资,全方面布局电竞产业链 ...
  • #define 用法
  • #Js篇:单线程模式同步任务异步任务任务队列事件循环setTimeout() setInterval()
  • #Linux(帮助手册)
  • #大学#套接字
  • (1)(1.9) MSP (version 4.2)
  • (Bean工厂的后处理器入门)学习Spring的第七天
  • (Redis使用系列) Springboot 实现Redis 同数据源动态切换db 八
  • (Redis使用系列) SpringBoot 中对应2.0.x版本的Redis配置 一
  • (顶刊)一个基于分类代理模型的超多目标优化算法
  • (二)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (附源码)springboot 智能停车场系统 毕业设计065415
  • (附源码)springboot课程在线考试系统 毕业设计 655127
  • (附源码)ssm失物招领系统 毕业设计 182317
  • (排序详解之 堆排序)
  • (三)c52学习之旅-点亮LED灯
  • (使用vite搭建vue3项目(vite + vue3 + vue router + pinia + element plus))
  • (学习日记)2024.04.10:UCOSIII第三十八节:事件实验
  • (一)u-boot-nand.bin的下载
  • (原创)攻击方式学习之(4) - 拒绝服务(DOS/DDOS/DRDOS)