首页 > 代码库 > 替换NSString类中的stringWithFormat:方法
替换NSString类中的stringWithFormat:方法
替换NSString类中的stringWithFormat:方法
先给出源码:
YXUseful.h
//// YXUseful.h// NSString//// Copyright (c) 2014年 Y.X. All rights reserved.//#import <Foundation/Foundation.h>NSString * String(NSString *format, ...);
YXUseful.m
//// YXUseful.m// NSString//// Copyright (c) 2014年 Y.X. All rights reserved.//#import "YXUseful.h"NSString * String(NSString *format, ...){ va_list ap; va_start (ap, format); NSString *body = [[NSString alloc] initWithFormat:format arguments:ap]; va_end (ap); return body;}
使用情况:
从上图就能看出,String明显要比下面的方式简单了不少,对吧:)
从实现的角度上来看,是下面的方式(你绝对没有见过可以带多个参数的这种呢)
"..." 这个不定参数列表也许你是第一次见到:)
当然也有弊端:
总结:
其实,实现起来并不容易,如果从来没有接触过,是绝对写不出来的,因为,你永远也不会知道需要va_start,va_end才能够正常使用:)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。