博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
code
阅读量:6234 次
发布时间:2019-06-22

本文共 3713 字,大约阅读时间需要 12 分钟。

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

你可能感兴趣的文章
Android 首页图片轮播
查看>>
解决Android NDK 报jxxx编译找不到
查看>>
EntityFramework Core Raw Query再叙注意事项
查看>>
全文检索Lucene (2)
查看>>
探讨SQL Server并发处理存在就更新七种解决方案
查看>>
当今游戏大作share的特性大盘点
查看>>
CountDownLatch使用
查看>>
创建 Image - 每天5分钟玩转 OpenStack(21)
查看>>
sql server中根据地图经纬度算距离
查看>>
VMware“该虚拟机似乎正在使用中”问题
查看>>
在Asp.Net中操作PDF – iTextSharp - 使用表格
查看>>
在一个文件中有10G个整数,乱序排列,要求找出中位数
查看>>
数据刷新中的并行改进(三)
查看>>
出去吃顿饭容易嘛(r11笔记第5天)
查看>>
IMP-00009: 导出文件异常结束
查看>>
Java AIO 入门实例(转)
查看>>
SSAS中CUBE行权限数据级权限控制
查看>>
HDOJ(HDU) 2186 悼念512汶川大地震遇难同胞——一定要记住我爱你
查看>>
git 专题
查看>>
c#中const与readonly区别
查看>>