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的标识符的更多相关文章

  1. html5 请求的URL转成 OC可用属性字符串显示

    NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:helpUrlStr]]; NSString *string = [ ...

  2. iOS开发 将html 富文本文字 转换成oc 的富文本

    - (NSMutableAttributedString *)mf_htmlAttribute:(NSString *)htmlString{ htmlString = [NSString strin ...

  3. oc字符串+数组+字典操作题目

    1. 判断中间目录是否存在 (10分) 比如 传入字符串 @"/home/qianfeng/oc.txt" 和 @"qianfeng" 返回:YES 传入字符串 ...

  4. ARC下OC对象和CF对象之间的桥接(bridge)

    在开发iOS应用程序时我们有时会用到Core Foundation对象简称CF,例如Core Graphics.Core Text,并且我们可能需要将CF对象和OC对象进行互相转化,我们知道,ARC环 ...

  5. 面试时如何优雅的谈论OC

    在面试中,我们经常会遇到一些原理性的问题,很常识但很难用通俗的语言解释清楚,这也是大部分业务级程序员经常失误的地方.虽然写了多年代码,但是核心思想不清,导致自己的后续发展受限,这是一个优秀的程序员和普 ...

  6. OC中的自动引用计数

    目录: 1,自动引用计数的定义 2,强引用和弱引用 3,类比手动引用 4,循环引用 5,CoreFoundation 内容: 自动引用计数的定义: (Automatic Reference Count ...

  7. oc 字符串

    #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { ...

  8. OC字符串的一些常用的函数。

    )//获取字符串长度 NSUInteger len= str.length; () //通过指定索引返回对应的字符 unichar ch =[str characterAtIndex:]; ()//通 ...

  9. OC语言-07-OC语言-Foundation框架

    结构体 NSRange/CGRange 用来表示一个元素在另一个元素中的范围,NSRange等价于CGRange 包含两个属性: NSUInteger location:表示一个元素在另一个元素中的位 ...

随机推荐

  1. Ext 6.5.3 classic版本,自定义实现togglefield开关控件

    1,在Ext 6.5.3的classic版中没有提供开关控件,参照modern版中 togglefield开关的实现,继承滑动器(sliderfield),自定义一个开关按钮.支持value绑定和点击 ...

  2. N皇后递归

    问题: n皇后问题:输入整数n, 要求n个国际象棋的皇后,摆在 n*n的棋盘上,互相不能攻击,输出全部方案. #include <iostream> using namespace std ...

  3. Linux项目发布流程

    Linux项目发布流程(一) 1.安装pyhton3.7 的依赖包 yum -y groupinstall "Development tools" yum -y install z ...

  4. Python中的类(2)

    一.使用类和实例 我们先编写一个学生的类,它存储了有关学生的信息,还有一个整合学生信息的方法: student.py class Student(): def __init__(self,name,a ...

  5. logging ,re 模块

    一,复习 # random: random() randint() choice() sample() # 序列化:对象需要持久化存储或传送 对象 => 字符串 # json: 用于传输 # - ...

  6. SpringMVC中的几种事务管理器

    转载https://blog.csdn.net/qq_26222859/article/details/52032853 1JDBC及iBATIS.MyBatis框架事务管理器 <bean id ...

  7. winfor应用程序打印报表清单

    最近一周竟然有2位以前的同事问我在winfor应用程序里面打印怎么搞,所以才有了写这篇文章的打算,索性现在没事就写出来 在窗体上简单的布局设置一下如图 定义一个Model 我在里面放了属性之外还从写了 ...

  8. SSH常见问题集锦

    /WEB-INF/web.xml Web应用程序配置文件,描述了 servlet 和其他的应用组件配置及命名规则. /WEB-INF/classes/包含了站点所有用的 class 文件,包括 ser ...

  9. Flask--登录检查(简单篇)---xunfeng巡风实例篇

    如果session返回的是loginsuccess,那么通过redirect直接跳转到执行的页面或者view. 同时通过装饰器的形式.. # -*- coding: UTF-8 -*- from fu ...

  10. Codeforces396A - On Number of Decompositions into Multipliers

    Portal Description 给出\(n(n\leq500)\)个\([1,10^9]\)的数,令\(m=\prod_{i=1}^n a_i\).求有多少个有序排列\(\{a_n\}\),使得 ...