美文网首页
自定义函数

自定义函数

作者: 萧雪痕 | 来源:发表于2016-05-31 11:48 被阅读18次

    版权声明:未经本人允许,禁止转载.

    1.定义普通函数(一个参数)

    由于NSNumber使用不方便,所以自定义函数,如下就可以直接使用Integer(num)函数

    //声明
    FOUNDATION_EXPORT NSNumber *Integer(NSInteger num);
    //实现
    NSNumber *Integer(NSInteger num) {
    return [NSNumber numberWithInteger:num];
    }
    

    宏FOUNDATION_EXPORT 全局声明 大多数情况下等同于extern
    NSNumber * 函数返回类型
    Integer() 函数名
    NSinteger 参数类型
    num 实例变量

    2.定义可变参函数

    类似于NSLog(...)函数,参数个数不确定,如下,从写了stringWithFormat:方法

    //声明
    FOUNDATION_EXPORT NSString *String(NSString *format, ...) NS_FORMAT_FUNCTION(1,2);
    //实现
    NSString *String(NSString *format, ...) {
        va_list args;
        va_start(args, format);
        NSString *str = [[NSString alloc] initWithFormat:format arguments:args];
        va_end(args);
        return str;
    }
    

    va_list args: 定义一个指向个数可变的参数列表指针args
    va_start(args, format): 使参数列表指针args指向函数参数列表中的第一个可选参数format
    va_arg(args, id): 返回参数列表指针args所指的参数,返回类型为type,并使指针args指向参数列表中下一个参数
    va_end(args): 清空参数列表,并置参数指针args无效

    相关文章

      网友评论

          本文标题:自定义函数

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