美文网首页
iOS中常用的宏定义

iOS中常用的宏定义

作者: Boy_iOS | 来源:发表于2016-06-05 00:48 被阅读196次

    iOS自动提示宏

    01.当我们使用kvo或者做动画的时候需要使用keyPath,但是keyPath是字符串类型,为了防止输入错误,我们可以使用下面的自动提示宏
     [self.mainView addObserver:self forKeyPath:@"frame" options:NSKeyValueObservingOptionNew context:nil];
    
    02.自动提示宏如下:
    #define keyPath(objc,keyPath) @(((void)objc.keyPath, #keyPath))
    
    接下来简单对这个宏定义进行解释:
      - 宏定义里面的#号,会自动把后面的参数变成C语言的字符串
      - @(基本类型)可以对基本类型进行装箱操作(也就是基本类型转换为OC的对象)
      - 对于逗号表达式,例如:`(5, 10, 2)`会去最后一个值,为了防止前面两个值因为没有使用报警告可以这样写((void)5, (void)10, 2),这个括号相当于return 2,所以为了把整个值转变成对象类型可以再加一个括号@(((void)5, (void)10, 2))
    
    - 对于@(((void)objc.keyPath, #keyPath))来说就是取keyPath位置的字符串
    
    

    相关文章

      网友评论

          本文标题:iOS中常用的宏定义

          本文链接:https://www.haomeiwen.com/subject/pgzldttx.html