object-c 之字符串的操作
2014-04-25 16:02
567 查看
这个礼拜,公司的任务轻,不到2天就基本上搞定了。
今天想给自己总结下oc中的字符串的操作。
在oc中,可以用来定义字符串的类是NSString,它直接继承NSObject,它还派生出来一个子类,就是NSMutableString。这二者的区别就是:NSString一旦定义好了,就不能在定义好的字符串中增删操作,NSMutableString是可变的。
在oc中,用2个不同后缀的文件来区分开来一个类的声明和实现,即.h文件来声明一个类,放在.h文件里面的属性和方法,外部是能够访问到的;用.m文件来作为该类的实现,外面是访问不到的。在h文件中用 @interface 类名 :父类 <协议或代理方法> 来声明一个类,在m文件中用@implementation类名
来实现一个类。在m文件中有
可以在@end前面添加一些额外的全局熟悉。如:
在ios5以后,语言环境会自己给我们生成get/set方法,也不需要调用@synthesize 属性名 来给熟悉生成访问方法。自己写了get/set方法的话,系统优先调用自己写的访问方法。
回顾了一些啰嗦的小点,开始看看NSString的一些操作。
NSString实例的生成有很多中方法,可以直接生成NSString *nameString = @"can"; 或者调用它自身的一些方法来生成 NSString *nameString = [NSString string];
oc 中记录位置的index是从0开始的,NSString有获取子字符串的方法:
它还有几个判断的方法:
- (BOOL)isEqual:(id)object; 这个方法是从NSObject类继承过来的,是用来判断是否与object在内存中的位置是否相同。
字符串的分割还是比较常用的,其方法就是 - (NSArray *)componentsSeparatedByString:(NSString *)separator; 按照传入的string来分割,返回一个数组。
NSMutableString的一些常用的方法有:
它的初始化方法有:
区别在于:第一个调用内存分配之后再初始化,第二个直接生成一个实例,自动分配内存。
常用的方法有:
今天想给自己总结下oc中的字符串的操作。
在oc中,可以用来定义字符串的类是NSString,它直接继承NSObject,它还派生出来一个子类,就是NSMutableString。这二者的区别就是:NSString一旦定义好了,就不能在定义好的字符串中增删操作,NSMutableString是可变的。
@interface NSString : NSObject <NSCopying, NSMutableCopying, NSSecureCoding>
NSString遵循了复制的协议和安全编码的协议,所以它的子类也同样遵循它所遵循的规范。(关于协议和代理回头再给自己补上一课)
在oc中,用2个不同后缀的文件来区分开来一个类的声明和实现,即.h文件来声明一个类,放在.h文件里面的属性和方法,外部是能够访问到的;用.m文件来作为该类的实现,外面是访问不到的。在h文件中用 @interface 类名 :父类 <协议或代理方法> 来声明一个类,在m文件中用@implementation类名
来实现一个类。在m文件中有
@interface AbObjectcIntruduction () @end
可以在@end前面添加一些额外的全局熟悉。如:
@interface AbObjectcIntruduction () { NSString *string; NSMutableArray *array; } @end这2个属性默认就是@private的,也不需要@property 来标识。对private的熟悉可以直接调用变量名,对property的熟悉需要使用_变量名或者self.变量名来调用。
在ios5以后,语言环境会自己给我们生成get/set方法,也不需要调用@synthesize 属性名 来给熟悉生成访问方法。自己写了get/set方法的话,系统优先调用自己写的访问方法。
回顾了一些啰嗦的小点,开始看看NSString的一些操作。
NSString实例的生成有很多中方法,可以直接生成NSString *nameString = @"can"; 或者调用它自身的一些方法来生成 NSString *nameString = [NSString string];
oc 中记录位置的index是从0开始的,NSString有获取子字符串的方法:
- (NSString *)substringFromIndex:(NSUInteger)from; - (NSString *)substringToIndex:(NSUInteger)to; - (NSString *)substringWithRange:(NSRange)range;第三个方法是可以返回指定范围的子字符串。
它还有几个判断的方法:
- (BOOL)isEqualToString:(NSString *)aString;//判断是否与aString相同 - (BOOL)hasPrefix:(NSString *)aString;//判断是否以aString开始 - (BOOL)hasSuffix:(NSString *)aString;//判断是否以aString作为后缀
- (BOOL)isEqual:(id)object; 这个方法是从NSObject类继承过来的,是用来判断是否与object在内存中的位置是否相同。
字符串的分割还是比较常用的,其方法就是 - (NSArray *)componentsSeparatedByString:(NSString *)separator; 按照传入的string来分割,返回一个数组。
NSMutableString的一些常用的方法有:
它的初始化方法有:
- (id)initWithCapacity:(NSUInteger)capacity; + (id)stringWithCapacity:(NSUInteger)capacity;
区别在于:第一个调用内存分配之后再初始化,第二个直接生成一个实例,自动分配内存。
常用的方法有:
- (void)insertString:(NSString *)aString atIndex:(NSUInteger)loc; - (void)appendString:(NSString *)aString;这2个都是目前项目中常用到的。
相关文章推荐
- c# 所有类型都从Object类型派生
- C# Dynamic关键字之:解析dynamic就是Object
- 什么是DAO Database Access Object
- JavaScript中Object和Function的关系小结
- 深入理解JavaScript系列(12) 变量对象(Variable Object)
- JavaScript 判断判断某个对象是Object还是一个Array
- javascript Object与Function使用
- 关于jQuery object and DOM element
- Javascript 面向对象 对象(Object)
- PHP对象Object的概念 介绍
- Uncaught exception com_exception with message Failed to create COM object
- 验证javascript中Object和Function的关系的三段简单代码
- 理解Javascript_09_Function与Object
- js中的window.open返回object的错误的解决方法
- javascript object oriented 面向对象编程初步
- JavaScript Object的extend是一个常用的功能
- Javascript Object.extend
- javascript object array方法使用详解
- Trying to clone an uncloneable object of class Imagic的解决方法
- 判断js中各种数据的类型方法之typeof与0bject.prototype.toString讲解