替换NSString类中的stringWithFormat:方法
方法 替换 类中 NSString
2023-09-14 08:57:17 时间
替换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才能够正常使用:)
不过,我们在编写源代码的时候,如果使用 Sting str = aaaa 的形式定义一个字符串,那么双引号里面的ASCII字符最多只能有 65534 个。
C++模板参数替换的理解 还是邓俊辉老师数据结构中List那一章的例子。List的遍历问题。 main.cpp里调用PRINT ( La ); // La是一个自定义的List对象 PRINT这个宏的定义就在main.cpp里#define PRINT(x) { print(x); crc(x); checkOrder(x); } print的声明在UniPrint/print.
相关文章
- PC-删除共享[绝对够狠的方法]
- Python基于正则表达式实现文件内容替换的方法
- JS获取节点方法
- 归纳一下:C#线程同步的几种方法
- C 替换字符方法
- 【四旋翼飞行器】约束驱动的生产线植绒方法:V形作为节能策略研究(Matlab代码实现)
- 使用Collections.emptyList()生成的List不支持add方法___Java Collections.emptyList方法的使用及注意事项
- 知识表示的方法——逻辑表示法、产生式表示法、框架表示法、语义网络表示法、面向对象表示
- JS中修改元素内容,属性,样式的方法【详解】
- JS字符串替换(使用replace()方法)
- 智能问答系统一些思考——四类方法
- 【流水线】FPGA中流水线的原因和方法