将C++的标识符转成OC的标识符
3.将C++的标识符转成OC的标识符
C++的标识符和OC一样由数字字母下划线组成。打头的不是数字。当标识符超过一个单词,
C++採用全字母小写。单词间用下划线连接的书写规范,如:
bei_jing
OC採用除第一个单词外,其余单词首字母大写的书写规范。如:
beiJing //传入C++标识符,返回OC标识符 */
+ (NSString *)objcIdentifierFromCppIdentifier:(NSString *)idf
//{
// //首先获取第0个字母
// NSMutableString * str1 = [NSMutableString stringWithFormat:@"%c",[idf characterAtIndex:0]];
// // 从第一个字母往后遍历。遇到‘_’符号后,取出‘_’后的字符将小写转换为大写,让i+1。否则,直接拼接
// for (NSInteger i = 1; i < idf.length; i++) {
// unichar ch = [idf characterAtIndex:i];
// if (ch == '_') {
// ch = [idf characterAtIndex:i+1];
// [str1 appendFormat:@"%c",ch-32];
// i++;
// } else {
// [str1 appendFormat:@"%c",ch];
// }
// }
// return str1;
//}
//{
// NSMutableString * str = [[NSMutableString alloc]init];
// for (NSInteger i = 0; i < idf.length; i++) {
// unichar ch = [idf characterAtIndex:i];
// if (ch == '_') {
// unichar ch = [idf characterAtIndex:i+1];
// [str appendFormat:@"%c",ch-32];
// i++;
// }
// else
// {
// [str appendFormat:@"%c",ch];
// }
// }
// return str;
//}
{
NSMutableString * str = [ NSMutableString stringWithFormat:@"%c",[idf characterAtIndex:0]];
for(NSInteger i = 1;i < idf.length;i++)
{
unichar ch = [idf characterAtIndex:i];
if(ch == '_')
{
unichar ch = [idf characterAtIndex:i+1];
[str appendFormat:@"%c",ch-32];
i++;
}
else
{
[str appendFormat:@"%c",ch];
}
}
return str;
}
将C++的标识符转成OC的标识符的更多相关文章
- html5 请求的URL转成 OC可用属性字符串显示
NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:helpUrlStr]]; NSString *string = [ ...
- iOS开发 将html 富文本文字 转换成oc 的富文本
- (NSMutableAttributedString *)mf_htmlAttribute:(NSString *)htmlString{ htmlString = [NSString strin ...
- oc字符串+数组+字典操作题目
1. 判断中间目录是否存在 (10分) 比如 传入字符串 @"/home/qianfeng/oc.txt" 和 @"qianfeng" 返回:YES 传入字符串 ...
- ARC下OC对象和CF对象之间的桥接(bridge)
在开发iOS应用程序时我们有时会用到Core Foundation对象简称CF,例如Core Graphics.Core Text,并且我们可能需要将CF对象和OC对象进行互相转化,我们知道,ARC环 ...
- 面试时如何优雅的谈论OC
在面试中,我们经常会遇到一些原理性的问题,很常识但很难用通俗的语言解释清楚,这也是大部分业务级程序员经常失误的地方.虽然写了多年代码,但是核心思想不清,导致自己的后续发展受限,这是一个优秀的程序员和普 ...
- OC中的自动引用计数
目录: 1,自动引用计数的定义 2,强引用和弱引用 3,类比手动引用 4,循环引用 5,CoreFoundation 内容: 自动引用计数的定义: (Automatic Reference Count ...
- oc 字符串
#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { ...
- OC字符串的一些常用的函数。
)//获取字符串长度 NSUInteger len= str.length; () //通过指定索引返回对应的字符 unichar ch =[str characterAtIndex:]; ()//通 ...
- OC语言-07-OC语言-Foundation框架
结构体 NSRange/CGRange 用来表示一个元素在另一个元素中的范围,NSRange等价于CGRange 包含两个属性: NSUInteger location:表示一个元素在另一个元素中的位 ...
随机推荐
- Java POI 导出EXCEL经典实现 Java导出Excel弹出下载框(转载)
https://blog.csdn.net/evangel_z/article/details/7332535
- CodeForces - 1105D Kilani and the Game(多源BFS+暴力)
题目: 给出一张游戏地图和每个玩家的位置,每次能移动的步数.p个玩家轮流移动占领地图中的格子(当格子已经被占领时就不能在占领了)在每个玩家都不能移动时游戏结束. 问在游戏结束后,每个玩家占领的格子的数 ...
- linux wget变成000权限
今天使用wget下载文件时出现:-bash: /usr/bin/wget: 权限不够. 查看 /usr/bin/wget 的权限为: ---------- 1 root root 357400 3月 ...
- DBLINK引起的SQL性能问题
最近发现报表系统上有一存储过程越来越慢,在数据库中查询后,发现有以下条SQL --优化前:耗时>1h select c.policyno, c.endorseno, r.item_code, s ...
- 【笔记】ubuntu如何切换到root用户&&linux如何关闭各种保护
默认安装完成之后并不知道root用户的密码,那么如何应用root权限呢? (1)sudo 命令 这样输入当前管理员用户密码就可以得到超级用户的权限.但默认的情况下5分钟root权限就失效了. () ...
- STM32定时器的两个小难点
TIM1 TIM8 挂在APB2上 一般为72M 也即APB2分频系数为1其余TIMER可以认为都挂在APB1上,一般为36M 也即APB1分频系数为2 或者更大 至少为2 APB1不能超过36M定时 ...
- Android开发——流量统计
1. 获取应用UID 在设备的proc目录下我们可以看到一些比较熟悉的目录/文件,比如data,system,cpuinfo(获取CPU信息)等,其中uid_stat的各个以应用Uid命名的目录下,便 ...
- 3D地形中的道路模拟
笔者注: 这篇文章是我本人在2009年发表在cppblog的一篇技术文章,由于我的技术博客迁移至博客园,所以转载到了此,非盗文. 以下是正文: 前段时间被项目组长委派实现基于3D地形的道路系统.实现的 ...
- Java面向对象重要关键字
面向对象过程接触的重要关键字:extends super this final static extends 关键字用作继承功能,可以申明一个类是从另外一个类继承而来的,一般形式如下 ...
- 创意、实现和合作:一次原创H5的尝试
3月的某一天需求同学说:我们想做一个爆款的回流H5. 好的事实上并没有这么夸张. 不过我们确实是第一次真正意义上做这样一个以互动展示为主要形式.以传播和拉回流为主要目的的H5. 虽然最后也没有成为真正 ...