Objective-C学习笔记
小常识:
NS是Cocoa类对象类型的前缀,来源于史蒂夫-乔布斯被苹果开除那段时间建立的公司NeXT.
@是Cocoa元素的前缀,很多地方我们会看到,比如接下来...
2013.08.13
NSString类 (不可变字符串)注:oc中的字符串,也是一个对象;
创建一个字符串,简单的方式如下:
注意,这里这样是不允许的
@的前缀是必须的
我们还有以下的一些方法可以创建一个字符串
通过一个字符串创建一个新的字符串;
通过一个C的字符串创建一个新的OC的字符串
还可以用通过格式符来创建一个字符串,
这个方法可以将一个字符,或者是数字等基本数据类型转换成OC的字符串,需要注意的是,通过“Format“格式创建的字符串,它每执行一次就向内存申请创建一个新的内存地址,创建一个新的字符串,即便是两个相同的字符,而之前的几种方法,相同的字符串,不会重复创建,而只是把新的字符串指针指向以有的常量字符;如下面,两个字符串指向的就是同一地址的
我们还可以通过用类方法来创建字符串
如
要注意的是,这中3中方法创建的字符串都属于临时字符串,内存会自动管理释放,而之前我们通过alloc
创建的字符串,则需要我们自己手动释放,即要release;这是属于内存管理的一部分。
以上的些方法创建的字符串,在创建后就不能改变了!
OC中的字符串比较与C中的字符串,因为OC的每个字符串都是一个对象,对象就意味着它们本身也带着很多少的消息即方法,如有以下的一些方法
1、比较两个字符串是否相同
这个返回一个布尔类型
(布尔变量 BOOL在oc中是YES or NO
另外一个 Boolean则是TRUE or FLASWE)
2、比较两个字符串的大小
这个返回值是一个枚举型
返回的结果是
(小=-1,等=NSOrderedSame,大=NSOrderedDescending)
3、在一个字符串中查找它的只串
它的返回值是一个NSRange的类型,这是一个结构体,里面包含两个参数,location位子,length长度;
4、从一个字符串当中提前一个子字符串
注意,这上面的这些方法,都是产生一个新的字符串,并没有改变原先的字符串
5、大小写转换
6、字符串转换数据类型
NSMutableString类 (可变字符串)
NSMutableString是NSString的一个子类,这里需要注意的是,NSString类是不可以被继承的,除了官方给出的类;
因为NSMutableString是NSString的一个子类,所以,它的创建和使用都和上面的所提及的方法一个;这里不加叙述。
除了这个
因为这个表达式是创建一个不可变字符串,不能将它赋给一个可变字符串;
可以这样创建,
先创建一个空的字符串,在对于赋值;这里要说的是,setString这个方法,是正真意义上的改变字符串,如果我们在执行一次后,再次用setString这个方法赋其他的字符串,这里str2就将会改成新的字符串,而不是另外创建一个,这个是NSMutableString所特有的创建方式;
那么
NSMUtableString它比不可变字符串的话,多少以下几种方法归结为;
1、增
1.1追加 append
1.2插入 insert
2、删 delete
3、改 replace
2013.8.14修改完成!