现在的位置: 首页 > 综合 > 正文

NSString和NSMutableString常用方法+NSArray常用代码

2018年01月08日 ⁄ 综合 ⁄ 共 11077字 ⁄ 字号 评论关闭

原址:http://www.cocoachina.com/newbie/tutorial/2010/1013/2173.html


常见的NSString和NSMutableString方法:

NSString方法:

  1. +(id) stringWithContentsOfFile:path encoding:enc error:err  
  2. 创建一个新字符串并将其设置为path指定的文件的内容,使用字符编码enc,如果非零,则返回err中错误  
  3.   
  4. +(id) stringWithContentsOfURL:url encoding:enc error:err  
  5. 创建一个新的字符串,并将其设置为url的内容,使用字符编码enc,如果非零,则返回err中的错误  
  6.   
  7. +(id) string  
  8. 创建一个新的空字符串  
  9.   
  10. +(id) stringWithString:nsstring  
  11. 创建一个新的字符串,并将其设置为nsstring  
  12.   
  13. -(id)initWithString:nsstring  
  14. 将分配的字符串设置为nsstring  
  15.   
  16. -(id) initWithContentsOfFile:path encoding:enc error:err  
  17. 将字符串设置为path制定的文件的内容  
  18.   
  19. -(id) initWithContentsOfURL:url encoding:enc error:err  
  20. 将字符串设置为url(NSURL *)url的内容,使用字符编码enc,如果非零,则返回err中的错误  
  21.   
  22. -(id) (UNSIgned int)length  
  23. 返回字符串中的字符数目  
  24.   
  25. -(unichar)characterAtIndex:i  
  26. 返回索引i的Unicode字符  
  27.   
  28. -(NSString *)substringFromIndex:i  
  29. 返回从i开始知道结尾的子字符串  
  30.   
  31. -(NSString *)substringWithRange:range  
  32. 根据指定范围返回子字符串  
  33.   
  34. -(NSString *)substringToIndex:i  
  35. 返回从该字符串开始到索i的子字符串  
  36.   
  37. -(NSComparator *)caseInsensitiveCompare:nsstring  
  38. 比较两个字符串,忽略大小写  
  39.   
  40. -(NSComparator *)compare:nsstring  
  41. 比较两个字符串  
  42.   
  43. -(BOOL)hasPrefix:nsstring  
  44. 测试字符串是否以nsstring开始  
  45.   
  46. -(BOOL)hasSuffix:nsstring  
  47. 测试字符串是否以nsstrng结尾  
  48.   
  49. -(BOOL)isEqualToString:nsstring  
  50. 测试两个字符串是否相等  
  51.   
  52. -(NSString *) capitalizedString  
  53. 返回每个单词首字母大写的字符串(每个单词的其余字母转换为小写)  
  54.   
  55. -(NSString *)lowercaseString  
  56. 返回转换为小写的字符串  
  57.   
  58. -(NSString *)uppercaseString  
  59. 返回转换为大写的字符串  
  60.   
  61. -(const char*)UTF8String  
  62. 返回转换为UIF-8字符串的字符串  
  63.   
  64. -(double)doubleValue  
  65. 返回转换为double的字符串  
  66.   
  67. -(float)floatValue  
  68. 返回转换为浮点值的字符串  
  69.   
  70. -(NSInteger)integerValue  
  71. 返回转换为NSInteger整数的字符串  
  72.   
  73. -(int)intValue  
  74. 返回转换为整数的字符串  
  75.   
  76. NSMutableString方法  
  77. +(id) stringWithCapacity:size  
  78. 创建一个字符串,初始包含size的字符  
  79.   
  80. -(id) initWithCapacity:size  
  81. 使用初始容量为size的字符串来初始化字符串  
  82.   
  83. -(void) setString:nsstring  
  84. 将字符串设置为nsstring  
  85.   
  86. -(void) appendString:nsstring  
  87. 在接收者的末尾附加nsstring  
  88.   
  89. -(void) deleteCharactersInRange:range  
  90. 删除指定range中的字符  
  91.   
  92. -(void) insertString:nsstring atIndex:i  
  93. 以索引i为起始位置插入nsstring  
  94.   
  95. -(void) replaceCharactersInRange:range withString:nsstring  
  96. 使用nsstring替换range指定的字符  
  97.   
  98. -(void) replaceOccurrencesOf  
  99. String:nsstring withString:nsstring2 options:opts range:range  
  100. 根据选项opts。使用指定range中的nsstring2替换所有的nsstring。选项可以包括NSBackwardsSearch(从范围的结尾 开始搜索)NSAnchoredSearch(nsstring必须匹配范围的开始),NSLiteralSearch(执行逐字节比较以及 NSCaceInsensitiveSearch的按位或组合)  

NSArray的基本操作代码:

  1. /*---------------------------创建数组------------------------------*/  
  2.     //NSArray *array = [NSArray alloc] initWithObjects:  
  3.     @"One",@"Two",@"Three",@"Four",nil];  
  4.   
  5.     self.dataArray = array;  
  6.     [array release];  
  7.   
  8.     //- (unsigned) Count;数组所包含对象个数;  
  9.     NSLog(@"self.dataArray cound:%d",[self.dataArray count]);  
  10.   
  11.     //- (id) objectAtIndex: (unsigned int) index;获取指定索引处的对象;  
  12.     NSLog(@"self.dataArray cound 2:%@",[self.dataArray objectAtIndex:2]);  
  13.   
  14.   
  15.     /*--------------------------从一个数组拷贝数据到另一数组(可变数级)----------------------------*/      
  16.   
  17.     //arrayWithArray:  
  18.     //NSArray *array1 = [NSArray alloc] init];  
  19.     NSMutableArray *MutableArray = [NSMutableArray alloc] init];  
  20.     NSArray *array = [NSArray arrayWithObjects:  
  21.                       @"a",@"b",@"c",nil];  
  22.     NSLog(@"array:%@",array);  
  23.     MutableArray = [NSMutableArray arrayWithArray:array];  
  24.     NSLog(@"MutableArray:%@",MutableArray);  
  25.   
  26.     array1 = [NSArray arrayWithArray:array];  
  27.     NSLog(@"array1:%@",array1);  
  28.   
  29.   
  30.     //Copy  
  31.   
  32.     //id obj;  
  33.     NSMutableArray *newArray = [NSMutableArray alloc] init];  
  34.     NSArray *oldArray = [NSArray arrayWithObjects:  
  35.                          @"a",@"b",@"c",@"d",@"e",@"f",@"g",@"h",nil];  
  36.   
  37.     NSLog(@"oldArray:%@",oldArray);  
  38.     for(int i = 0; i < [oldArray count]; i++)  
  39.     {          
  40.         obj = [oldArray objectAtIndex:i] copy];  
  41.         [newArray addObject: obj];  
  42.     }  
  43.     //       
  44.     NSLog(@"newArray:%@", newArray);  
  45.     [newArray release];  
  46.   
  47.   
  48.     //快速枚举  
  49.   
  50.     //NSMutableArray *newArray = [NSMutableArray alloc] init];  
  51.     NSArray *oldArray = [NSArray arrayWithObjects:  
  52.                          @"a",@"b",@"c",@"d",@"e",@"f",@"g",@"h",nil];      
  53.     NSLog(@"oldArray:%@",oldArray);  
  54.   
  55.     for(id obj in oldArray)  
  56.     {  
  57.         [newArray addObject: obj];  
  58.     }  
  59.     //       
  60.     NSLog(@"newArray:%@", newArray);  
  61.     [newArray release];      
  62.   
  63.   
  64.     //Deep copy  
  65.   
  66.     //NSMutableArray *newArray = [NSMutableArray alloc] init];  
  67.     NSArray *oldArray = [NSArray arrayWithObjects:  
  68.                          @"a",@"b",@"c",@"d",@"e",@"f",@"g",@"h",nil];      
  69.     NSLog(@"oldArray:%@",oldArray);      
  70.     newArray = (NSMutableArray*)CFPropertyListCreateDeepCopy(kCFAllocatorDefault, (CFPropertyListRef)oldArray, kCFPropertyListMutableContainers);  
  71.     NSLog(@"newArray:%@", newArray);  
  72.     [newArray release];      
  73.   
  74.   
  75.     //Copy and sort  
  76.   
  77.     //NSMutableArray *newArray = [NSMutableArray alloc] init];  
  78.     NSArray *oldArray = [NSArray arrayWithObjects:  
  79.                          @"b",@"a",@"e",@"d",@"c",@"f",@"h",@"g",nil];      
  80.     NSLog(@"oldArray:%@",oldArray);  
  81.     NSEnumerator *enumerator;  
  82.     enumerator = [oldArray objectEnumerator];  
  83.     id obj;  
  84.     while(obj = [enumerator nextObject])  
  85.     {  
  86.         [newArray addObject: obj];  
  87.     }  
  88.     [newArray sortUsingSelector:@selector(compare:)];  
  89.     NSLog(@"newArray:%@", newArray);  
  90.     [newArray release];  
  91.   
  92.   
  93.   
  94.     /*---------------------------切分数组------------------------------*/  
  95.   
  96.     //从字符串分割到数组- componentsSeparatedByString:  
  97.     NSString *string = [NSString alloc] initWithString:@"One,Two,Three,Four"];  
  98.     NSLog(@"string:%@",string);      
  99.     NSArray *array = [string componentsSeparatedByString:@","];  
  100.     NSLog(@"array:%@",array);  
  101.     [string release];  
  102.   
  103.   
  104.     //从数组合并元素到字符串- componentsJoinedByString:  
  105.     NSArray *array = [NSArray alloc] initWithObjects:@"One",@"Two",@"Three",@"Four",nil];  
  106.     NSString *string = [array componentsJoinedByString:@","];  
  107.     NSLog(@"string:%@",string);  
  108.   
  109.   
  110.   
  111.     /*******************************************************************************************  
  112.      NSMutableArray  
  113.      *******************************************************************************************/  
  114.     /*---------------给数组分配容量----------------*/  
  115.     //NSArray *array;  
  116.     array = [NSMutableArray arrayWithCapacity:20];  
  117.   
  118.   
  119.   
  120.     /*--------------在数组末尾添加对象----------------*/  
  121.     //- (void) addObject: (id) anObject;  
  122.     //NSMutableArray *array = [NSMutableArray arrayWithObjects:  
  123.     @"One",@"Two",@"Three",nil];  
  124.     [array addObject:@"Four"];  
  125.     NSLog(@"array:%@",array);  
  126.   
  127.   
  128.   
  129.     /*--------------删除数组中指定索引处对象----------------*/      
  130.     //-(void) removeObjectAtIndex: (unsigned) index;      
  131.     //NSMutableArray *array = [NSMutableArray arrayWithObjects:  
  132.     @"One",@"Two",@"Three",nil];  
  133.     [array removeObjectAtIndex:1];  
  134.     NSLog(@"array:%@",array);  
  135.   
  136.   
  137.   
  138.     /*-------------数组枚举---------------*/      
  139.     //- (NSEnumerator *)objectEnumerator;从前向后  
  140.     //NSMutableArray *array = [NSMutableArray arrayWithObjects:  
  141.     @"One",@"Two",@"Three",nil];  
  142.     NSEnumerator *enumerator;  
  143.     enumerator = [array objectEnumerator];  
  144.   
  145.     id thingie;  
  146.     while (thingie = [enumerator nextObject]) {  
  147.         NSLog(@"thingie:%@",thingie);  
  148.     }  
  149.   
  150.   
  151.     //- (NSEnumerator *)reverseObjectEnumerator;从后向前  
  152.     //NSMutableArray *array = [NSMutableArray arrayWithObjects:  
  153.     @"One",@"Two",@"Three",nil];  
  154.     NSEnumerator *enumerator;  
  155.     enumerator = [array reverseObjectEnumerator];  
  156.   
  157.     id object;  
  158.     while (object = [enumerator nextObject]) {  
  159.         NSLog(@"object:%@",object);  
  160.     }  
  161.   
  162.   
  163.     //快速枚举  
  164.     //NSMutableArray *array = [NSMutableArray arrayWithObjects:  
  165.     @"One",@"Two",@"Three",nil];  
  166.     for(NSString *string in array)  
  167.     {  
  168.         NSLog(@"string:%@",string);  
  169.     }  
  170.   
  171.   
  172.   
  173.     /*******************************************************************************************  
  174.      NSDictionary  
  175.      *******************************************************************************************/  
  176.   
  177.     /*------------------------------------创建字典------------------------------------*/  
  178.     //- (id) initWithObjectsAndKeys;  
  179.   
  180.     //NSDictionary *dictionary = [NSDictionary alloc] initWithObjectsAndKeys:@"One",@"1",@"Two",@"2",@"Three",@"3",nil];  
  181.     NSString *string = [dictionary objectForKey:@"One"];  
  182.     NSLog(@"string:%@",string);  
  183.     NSLog(@"dictionary:%@",dictionary);  
  184.     [dictionary release];  
  185.   
  186.   
  187.     /*******************************************************************************************  
  188.      NSMutableDictionary  
  189.      *******************************************************************************************/  
  190.   
  191.     /*------------------------------------创建可变字典------------------------------------*/      
  192.     //创建  
  193.     NSMutableDictionary *dictionary = [NSMutableDictionary dictionary];  
  194.   
  195.     //添加字典  
  196.     [dictionary setObject:@"One" forKey:@"1"];  
  197.     [dictionary setObject:@"Two" forKey:@"2"];  
  198.     [dictionary setObject:@"Three" forKey:@"3"];  
  199.     [dictionary setObject:@"Four" forKey:@"4"];  
  200.     NSLog(@"dictionary:%@",dictionary);  
  201.   
  202.     //删除指定的字典  
  203.     [dictionary removeObjectForKey:@"3"];  
  204.     NSLog(@"dictionary:%@",dictionary);  
  205.   
  206.   
  207.     /*******************************************************************************************  
  208.      NSValue(对任何对象进行包装)  
  209.      *******************************************************************************************/  
  210.   
  211.     /*--------------------------------将NSRect放入NSArray中------------------------------------*/      
  212.     //将NSRect放入NSArray中  
  213.     NSMutableArray *array = [NSMutableArray alloc] init];  
  214.     NSValue *value;  
  215.     CGRect rect = CGRectMake(0, 0, 320, 480);      
  216.     value = [NSValue valueWithBytes:&rect objCType:@encode(CGRect)];  
  217.     [array addObject:value];  
  218.     NSLog(@"array:%@",array);  
  219.   
  220.     //从Array中提取  
  221.     value = [array objectAtIndex:0];  
  222.     [value getValue:&rect];  
  223.     NSLog(@"value:%@",value);  
  224.   
  225.   
  226.     /*******************************************************************************************  
  227.      从目录搜索扩展名为jpg的文件  
  228.      *******************************************************************************************/  
  229.   
  230.     //NSFileManager *fileManager = [NSFileManager defaultManager];  
  231.     NSString *home;  
  232.     home = @"../Users/";  
  233.   
  234.     NSDirectoryEnumerator *direnum;  
  235.     direnum = [fileManager enumeratorAtPath: home];  
  236.   
  237.     NSMutableArray *files = [NSMutableArray alloc] init];  
  238.   
  239.     //枚举  
  240.     NSString *filename;  
  241.     while (filename = [direnum nextObject]) {  
  242.         if([filename pathExtension] hasSuffix:@"jpg"]){  
  243.             [files addObject:filename];  
  244.         }  
  245.     }  
  246.   
  247.     //快速枚举  
  248.     //for(NSString *filename in direnum)  
  249.     //{  
  250.     //    if([filename pathExtension] isEqualToString:@"jpg"]){  
  251.     //        [files addObject:filename];  
  252.     //    }  
  253.     //}  
  254.     NSLog(@"files:%@",files);  
  255.   
  256.     //枚举  
  257.     NSEnumerator *filenum;  
  258.     filenum = [files objectEnumerator];  
  259.     while (filename = [filenum nextObject]) {  
  260.         NSLog(@"filename:%@",filename);  
  261.     }  
  262.   
  263.     //快速枚举  
  264.     //for(id object in files)  
  265.     //{  
  266.     //    NSLog(@"object:%@",object);  
  267.     //} <span style="font-family:'Lucida Grande', Geneva, Arial, Verdana, Tahoma, Arial, 微软雅黑, 黑体, 宋体;"> </span>
     

抱歉!评论已关闭.