将C++的标识符转成OC的标识符】的更多相关文章

3.将C++的标识符转成OC的标识符 C++的标识符和OC一样由数字字母下划线组成.打头的不是数字.当标识符超过一个单词, C++採用全字母小写.单词间用下划线连接的书写规范,如: bei_jing OC採用除第一个单词外,其余单词首字母大写的书写规范.如: beiJing //传入C++标识符,返回OC标识符 */ + (NSString *)objcIdentifierFromCppIdentifier:(NSString *)idf //{ // //首先获取第0个字母 // NSMuta…
NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:helpUrlStr]]; NSString *string = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; NSAttributedString *attributedString = [[NSAttributedString alloc] initWithData:[st…
- (NSMutableAttributedString *)mf_htmlAttribute:(NSString *)htmlString{ htmlString = [NSString stringWithFormat:@"<div>%@</div>",htmlString]; NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithDa…
1. 判断中间目录是否存在 (10分) 比如 传入字符串 @"/home/qianfeng/oc.txt" 和 @"qianfeng" 返回:YES 传入字符串 @"/usr/qianfeng/oc.txt 和 @"fengqian" 返回:NO 2.将字符串按照单词逆序 (10分) 输入一段字符串,已知字符串只由字母和空格构成,将字符串按照单词逆序 传入@"welcome to qianfeng" 返回 @&quo…
在开发iOS应用程序时我们有时会用到Core Foundation对象简称CF,例如Core Graphics.Core Text,并且我们可能需要将CF对象和OC对象进行互相转化,我们知道,ARC环境下编译器不会自动管理CF对象的内存,所以当我们创建了一个CF对象以后就需要我们使用CFRelease将其手动释放,那么CF和OC相互转化的时候该如何管理内存呢?答案就是我们在需要时可以使用__bridge,__bridge_transfer,__bridge_retained,具体介绍和用法如下…
在面试中,我们经常会遇到一些原理性的问题,很常识但很难用通俗的语言解释清楚,这也是大部分业务级程序员经常失误的地方.虽然写了多年代码,但是核心思想不清,导致自己的后续发展受限,这是一个优秀的程序员和普通程序员的分水岭.要知其然而知其所以然!这也是整理这篇文章的初衷.文中结合了之前的一些文章,条理更清晰,内容更深入. 本文包括: OC的面向对象 运行时Runtime 运行循环RunLoop 事件响应链 引用计数 生命周期 与其他语言的区别 Objective-C 简称OC(下面以此代称),是在C语…
目录: 1,自动引用计数的定义 2,强引用和弱引用 3,类比手动引用 4,循环引用 5,CoreFoundation 内容: 自动引用计数的定义: (Automatic Reference Counting) 在编译时自动在合适的位置加入retain 和 release,简化内存管理,自动引用计数不是内存管理,而是通过强引用(__strong)和弱引用(__weak)指针来标记内存的管理方式,当指向对象的强引用指针数等于0时,内存才会释放. 强引用和弱引用: __strong, 当我创建一个oc…
#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { /* NSString *str1=@"guiyang"; //length 获取字符串长度  即 字符个数 // NSUInteger len=str1.length; NSUInteger len=[str1 length]; NSLog(@"%ld",len);…
)//获取字符串长度 NSUInteger len= str.length; () //通过指定索引返回对应的字符 unichar ch =[str characterAtIndex:]; ()//通过指定格式对字符串进行初始化 NSString *str1=[NSStringstring]; NSLog(@"%@",str1); NSString *str2=[[NSString alloc] initWithFormat:@"this is a %@",@&qu…
结构体 NSRange/CGRange 用来表示一个元素在另一个元素中的范围,NSRange等价于CGRange 包含两个属性: NSUInteger location:表示一个元素在另一个元素中的位置 NSUInteger length:表示该元素的长度 若找不到指定的元素,将返回NSNotFound(整型-1) 常用函数 NSRange NSMakeRange(NSUInteger loc, NSUInteger len) 创建一个NSRange类型的变量,将其两个属性初始化为loc和len…
前言 @interface NSKeyedArchiver : NSCoder @interface NSKeyedUnarchiver : NSCoder 在 OC 语言中,归档是一个过程,即用某种格式来保存一个或多个对象,以便以后还原这些对象.通常,这个过程包括将(多个)对象写入文件中,以便以后读取该对象.可以使用归档的方法进行对象的深复制. 采用归档的形式来保存数据,该数据对象需要遵守 NSCoding 协议,并且该对象对应的类必须提供 encodeWithCoder: 和 initWit…
前言 @interface NSNumber : NSValue @interface NSDecimalNumber : NSNumber 将基本数据类型包装成 OC 对象 1.NSNumber 与 基本数据类型 的相互转换 // 基本数据类型 转 NSNumber // 对象方法,将整形数据转换为 OC 对象 NSNumber *num1 = [[NSNumber alloc] initWithInt:123]; // 类方法, 将浮点型数据转换成 OC 对象 NSNumber *num2…
前言 @interface NSValue : NSObject <NSCopying, NSSecureCoding> 将任意数据类型包装成 OC 对象 1.比较两个 NSValue 类型数据的大小 NSValue *value1 = [NSValue valueWithPoint:NSMakePoint(10, 32)]; NSValue *value2 = [NSValue valueWithPoint:NSMakePoint(10, 32)]; // isEqualToValue BO…
NSNumber NSValue NSDate NSFileManager *:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } a { color: #4183C4; } a.absent { color: #cc0000; } a.anchor { display: block; padding-left: 30px; margin-left: -30p…
和C语言不同,在Objective-C语言中,有单独的字符串类NSString.C语言中,string是由 char(ASCLL码)字符组成 OC中,字符串是由unichar(Unicode)字符组成 NSString,不可变字符串,即:创建以后,内容和长度不能更改 NSMutableString,可变字符串,即:创建以后,内容还可以修改 在使用哟个字符串对象之前首先创建一个新的字符串,可以使用实例方法和便利构造器 NSString常用的方法 1.使用实例方法和便利构造器创建一个新的字符串 2.…
NSNumber能够包装基本数据类型称为OC对象,是因为继承了NSValue 包装结构体成OC对象 1.自带结构体 void value() { CGPoint point = CGPointMake(, ); NSValue *obj = [NSValue valueWithPoint:point]; NSLog(@"%@", obj); CGPoint p1 = [obj pointValue]; BOOL result = CGPointEqualToPoint(point, p…
1.概念 NSArray,NSDictionary只能放OC对象,不能放入基本数据类型 必须使用包装类NSNumber,把基本数据类型包装成OC对象 不支持自动包装解包   void number() { NSNumber *number = [NSNumber numberWithInt:]; NSMutableArray *array = [NSMutableArray array]; [array addObject:number]; NSLog(@"%@", array); N…
#pragma mark 00知识回顾 //定义一个函数 函数没有返回值函数有一个参数:返回值是double 参数是两个int的block void test(int a); void test(double (^xiaoyuedashiBlock)(int num1,int num2)); //给下面的Person类添加一个方法,方法没有返回值,但是有一个参数:返回值是double 参数是两个int的block @interface MKPerson  : NSObject -(void)te…
OC语言-07-OC语言-Foundation框架   结构体 NSRange/CGRange 用来表示一个元素在另一个元素中的范围,NSRange等价于CGRange 包含两个属性: NSUInteger location:表示一个元素在另一个元素中的位置 NSUInteger length:表示该元素的长度 若找不到指定的元素,将返回NSNotFound(整型-1) 常用函数 NSRange NSMakeRange(NSUInteger loc, NSUInteger len)创建一个NSR…
OC中的字符串常用方法 OC中对字符串进行操作使用了Foundation框架中的NSString类(不可变).NSMutableString类(可变). NSString 1.创建字符串 [objc] view plaincopy NSString *str1 = @"我在学习OC"; NSString *str2 = [[NSString alloc] initWithString: @"我在学习OC"]; NSString *str3 = [NSString s…
##数据交互格式 服务器返回给用户的数据,通常是以下两种方式: JSON XML JSON 一种轻量级的数据数据格式,体积比XML小,是服务器返回给移动端通常采用的格式 用使用JSON文件中的数据,需要对其进行解析,苹果的NSJSONSerialization解析性能最好 iOS中的JSON文件解析,是将其转换成OC对象,如下: 大括号{} --> 字典NSDictionary 中括号[] --> 数组NSArray 双引号"" --> 字符串NSString 数字…
   一.NSString与NSMutableString         相信大家对NSString类都不陌生.它是OC中提供的字符串类.它的对象中的字符串都是不可变的,而它的子类NSMutableString类的对象中的字符串就是可变的. 什么是可变与不可变呢?二者的差别就是在已经创建的一个字符串对象中,在程序中能不能更改字符串.比方拼接新的字符串.可变的能够在原字符串中更改,不可变的不能更改. 二.关于字符串的创建         1> OC字符串的创建小桥前面都已经用过.最简单就是以下这…
#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { //字符串创建 方法1:直接赋值方法创建,字符串常量 NSString *s1=@"北京下雪了"; //方法二:通过构造方法initWithFormat:创建字符串,可以通过指定的字符串参数完成多个字符串的组合 NSString *s2=[[NSString alloc]initWith…
常见的结构体 NSPoint和CGPoint NSSize和CGSize NSRect 和 CGRect NSPoint和CGPoint的使用 NSPoint和CGPoint是同义的 typedef CGPoint NSPoint; CGPoint的定义 struct CGPoint{ CGFloat x; CGFloat y; } typedef struct CGPoint CGPoint; typedef double CGFloat;//64位是double ,32位是float CGP…
每一个进程都有一个实际用户标识符和一个实际组标识符,它们永远是启动该进程之用户的用户标识符和组标识符. 进程的有效用户标识符和有效组标识符或许更重要些,它们被用来确定一个用户是否能訪问某个确定的文件.在通常情况下,它们与实际用户标识符和实际组标识符是一致的. 有几个系统调用能够用来得到进程的用户标识符和组标识符,详见下列程序: /* 取进程的实际用户标识符 */         uid=getuid(); /* 取进程的有效用户标识符 */        euid=geteuid(); /* 取…
学会写helloworld之后,  我们就开始来认识标识符&关键字 一.标识符 标识符是指可被用来为类.变量或方法等命名的字符序列,换言之,标识符就是用户自定义的名称来标识类.变量或方法等.更简单的说,标识符就是一个名字.标识符的选择并不是任意的,Java语言规定标识符由字母.数字.下划线和美元符号($)组成,并且第一个字符不能是数字. 例如以下都是合法的标识符: num user3 price$ namebook_name MIN_VALUE $JHH 例如以下都是非法的标识符: 4word…
1.调用的时候我明明改成了 .mm  , 也添加了libstdc++.dylib  调用自己(xcode )写的(cocoa static lib )c++  ,编译总是报找不到库里的函数, 最后我在调用的.mm文件里写了一个c++类,在这个类里调用, 在objc里用这个c++类指针,成功了,  KFC(Kill Fuck Code) \\\ 工作需要,有个加密的函数是cpp的,需要oc调用一下. 具体拿到的大概是这样一个东西: #include <openssl/evp.h> #includ…
Java 基础语法 一个 Java 程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作.下面简要介绍下类.对象.方法和实例变量的概念. 对象:对象是类的一个实例,有状态和行为.例如,一条狗是一个对象,它的状态有:颜色.名字.品种:行为有:摇尾巴.叫.吃等. 类:类是一个模板,它描述一类对象的行为和状态. 方法:方法就是行为,一个类可以有很多方法.逻辑运算.数据修改以及所有动作都是在方法中完成的. 实例变量:每个对象都有独特的实例变量,对象的状态由这些实例变量的值决定. 基本语…
和上一篇文章一样,数组的重要性不言而喻,在OC编程的过程中我们会不断的使用到NSArray,和C语言不同的是,我们这里的数组只能存OC对象类型,不能存C语言基本数据类型,也不能存NSNull类型,但是我们这里的数组可以存多种对象类型,比如,在同一个数组里面,既可以存字符串类型,又可以存对象化了以后的整数类型,甚至是另外一个数组,也可以存其他的对象类型(将C语言的数据类型转换成OC的对象类型下面会讲到),不过在同一个数组里面尽量存同一种数据类型,这是为了方便使用.在OC数组里面以nil表示结尾,如…
JAVA基础语法——标识符.修饰符.关键字 一 . 标识符 1.1    什么是标识符 就是程序员在定义java程序时,自定义的一些名字,例如helloworld 程序里关键字class 后跟的Demo,就是我们定义的类名.类名就属于标识符的一种. 标识符除了应用在类名上,还可以用在变量.函数名.包名上.(要求同学们先记住,以后会详细见到这些). 1.2    标识符必须遵循以下规则 标识符由26个英文字符大小写(a~zA~Z).数字(0~9).下划线(_)和美元符号($)组成. 不能以数字开头…