Objective-c——NSString

本文首发在:http://www.simman.cc/article/2135,转载请注明出处!

NSString简介                                                                                                     

NSString是一个对象类型。NSString是NSObject(Cocoa Foundation的基础对象)的子类,所以具有NSObject的所有特性,NSString对象由unichar字符组成。unichar字符是符合Unicode标准的多字节字符。而且不别担心字符串的内部表示,因为NSString类已经自动处理了。

NS是Cocoa类对象类型的前缀,来源于史蒂夫-乔布斯被苹果开除那段时间建立的公司NeXT.@是Cocoa元素的前缀,很多地方我们会看到,比如接下来...

一、NSString                                                                                                     

1 创建NSString对象

①、此方法不需要手动释放内存。

1 NSString*aString =@"This is String";  //需要在头部放一个@符号

②、此方法需要手动释放内存

1 NSString*aString =[[NSString alloc] initWithFormat:@"This is String"];

2 使用NSString对象

1 NSString *aString = @"Programming is fun";
2 NSLog(@"%@", aString);

3 释放NSString

1 [aString release]; 

3 快速使用一个NSString

1 NSLog([NSString stringWithFormat:@"一个NS字符串"]);
这种快速方法返回的是一个return为1,autorelease的对象,不需要操心它的内存管理

4 常用方法

 1 NSString * str1 = @"This is string A";
 2 NSString * str2 = @"This is string B";
 3 NSString * res;
 4 NSComparisonResult compareResult;
 5 
 6 //计算字符串中的字符
 7 NSLog(@"Length of str1: %lu", [str1 length]);
 8 
 9 //将一个字符串复制到另一个字符串
10 res = [NSString stringWithString: str1];
11 NSLog(@"Copy: %@", res);
12 
13 //将一个字符串复制到另一个字符串的末尾
14 str2 = [str1 stringByAppendingString: str2];
15 NSLog(@"Concatentation: %@", str2);
16 
17 //验证两个字符串是否相等
18 if ([str1 isEqualToString: res] == YES) {
19     NSLog(@"str1 == res");
20 }else{
21     NSLog(@"str2 @= res");
22 }
23 
24 //验证一个字符串是否小于、等于或者大于另一个字符串
25 compareResult = [str1 compare: str2];
26 if (compareResult < NSOrderedAscending) {
27     NSLog(@"str1 < str2");
28 }else if (compareResult == NSOrderedSame){
29     NSLog(@"str1 = str2");
30 }else{
31     NSLog(@"str1 > str2");
32 }
33 
34 //将字符串转换为大写
35 res = [str1 uppercaseString];
36 NSLog(@"UppercaseString conversion: %s", [res UTF8String]);
37 
38 //将字符串转换为小写
39 res = [str1 lowercaseString];
40 NSLog(@"LowercaseString conversion: %s", res);
41 
42 
43 NSLog(@"Original string: %@", str1);

二、Description方法:

NSLog(@"%@", [对象 description]),利用这种方法是可以打印对象的,但是默认是显示的类名和对象在内存中的地址。而我们需要更详细的内容,那么可以重新定义Description方法。

1 //方法实现
2 - (NSString *) description {   
3     return [NSString stringWithFormat: @"name = %@, age = %i, height = %i, width = %i", _name, _age, _height, _width];
4 }
5 
6 //打印(u 是创建的对象)
7 NSLog(@"%@", [u description]);
posted @ 2013-10-17 00:29  simman  阅读(349)  评论(1编辑  收藏  举报