zoukankan      html  css  js  c++  java
  • nSStirng、NSArray、以及枚举(Method小集合)

    NSStirng、NSArray、以及枚举(Method小集合)

     /*******************************************************************************************      NSString      *******************************************************************************************/     //一、NSString         /*----------------创建字符串的方法----------------*/       //1、创建常量字符串。     NSString *astring = @"This is a String!";         //2、创建空字符串,给予赋值。       NSString *astring = [[NSString alloc] init];     astring = @"This is a String!";     [astring release];     NSLog(@"astring:%@",astring);           //3、在以上方法中,提升速度:initWithString方法       NSString *astring = [[NSString alloc] initWithString:@"This is a String!"];     NSLog(@"astring:%@",astring);     [astring release];           //4、用标准c创建字符串:initWithCString方法       char *Cstring = "This is a String!";     NSString *astring = [[NSString alloc] initWithCString:Cstring];     NSLog(@"astring:%@",astring);     [astring release];           //5、创建格式化字符串:占位符(由一个%加一个字符组成)       int i = 1;     int j = 2;     NSString *astring = [[NSString alloc] initWithString:[NSString stringWithFormat:@"%d.This is %i string!",i,j]];     NSLog(@"astring:%@",astring);     [astring release];           //6、创建临时字符串       NSString *astring;     astring = [NSString stringWithCString:"This is a temporary string"];     NSLog(@"astring:%@",astring);             /*----------------从文件读取字符串:initWithContentsOfFile方法----------------*/           NSString *path = @"astring.text";     NSString *astring = [[NSString alloc] initWithContentsOfFile:path];     NSLog(@"astring:%@",astring);     [astring release];         /*----------------写字符串到文件:writeToFile方法----------------*/             NSString *astring = [[NSString alloc] initWithString:@"This is a String!"];     NSLog(@"astring:%@",astring);     NSString *path = @"astring.text";         [astring writeToFile: path atomically: YES];     [astring release];                 /*----------------比较两个字符串----------------*/               //用C比较:strcmp函数       char string1[] = "string!";     char string2[] = "string!";     if(strcmp(string1, string2) = = 0)     {         NSLog(@"1");     }           //isEqualToString方法         NSString *astring01 = @"This is a String!";     NSString *astring02 = @"This is a String!";     BOOL result = [astring01 isEqualToString:astring02];     NSLog(@"result:%d",result);             //compare方法(comparer返回的三种值)         NSString *astring01 = @"This is a String!";     NSString *astring02 = @"This is a String!";         BOOL result = [astring01 compare:astring02] = = NSOrderedSame;         NSLog(@"result:%d",result);         //NSOrderedSame判断两者内容是否相同             NSString *astring01 = @"This is a String!";     NSString *astring02 = @"this is a String!";     BOOL result = [astring01 compare:astring02] = = NSOrderedAscending;         NSLog(@"result:%d",result);     //NSOrderedAscending判断两对象值的大小(按字母顺序进行比较,astring02大于astring01为真)           NSString *astring01 = @"this is a String!";     NSString *astring02 = @"This is a String!";     BOOL result = [astring01 compare:astring02] = = NSOrderedDescending;         NSLog(@"result:%d",result);          //NSOrderedDescending判断两对象值的大小(按字母顺序进行比较,astring02小于astring01为真)           //不考虑大小写比较字符串1     NSString *astring01 = @"this is a String!";     NSString *astring02 = @"This is a String!";     BOOL result = [astring01 caseInsensitiveCompare:astring02] = = NSOrderedSame;         NSLog(@"result:%d",result);          //NSOrderedDescending判断两对象值的大小(按字母顺序进行比较,astring02小于astring01为真)           //不考虑大小写比较字符串2     NSString *astring01 = @"this is a String!";     NSString *astring02 = @"This is a String!";     BOOL result = [astring01 compare:astring02                             options:NSCaseInsensitiveSearch | NSNumericSearch] = = NSOrderedSame;         NSLog(@"result:%d",result);            //NSCaseInsensitiveSearch:不区分大小写比较 NSLiteralSearch:进行完全比较,区分大小写 NSNumericSearch:比较字符串的字符个数,而不是字符值。         /*----------------改变字符串的大小写----------------*/           NSString *string1 = @"A String";      NSString *string2 = @"String";      NSLog(@"string1:%@",[string1 uppercaseString]);//大写     NSLog(@"string2:%@",[string2 lowercaseString]);//小写     NSLog(@"string2:%@",[string2 capitalizedString]);//首字母大小         /*----------------在串中搜索子串----------------*/               NSString *string1 = @"This is a string";     NSString *string2 = @"string";     NSRange range = [string1 rangeOfString:string2];     int location = range.location;     int leight = range.length;     NSString *astring = [[NSString alloc] initWithString:[NSString stringWithFormat:@"Location:%i,Leight:%i",location,leight]];     NSLog(@"astring:%@",astring);     [astring release];         /*----------------抽取子串 ----------------*/               //-substringToIndex: 从字符串的开头一直截取到指定的位置,但不包括该位置的字符     NSString *string1 = @"This is a string";     NSString *string2 = [string1 substringToIndex:3];     NSLog(@"string2:%@",string2);             //-substringFromIndex: 以指定位置开始(包括指定位置的字符),并包括之后的全部字符     NSString *string1 = @"This is a string";     NSString *string2 = [string1 substringFromIndex:3];     NSLog(@"string2:%@",string2);             //-substringWithRange: //按照所给出的位置,长度,任意地从字符串中截取子串     NSString *string1 = @"This is a string";     NSString *string2 = [string1 substringWithRange:NSMakeRange(0, 4)];     NSLog(@"string2:%@",string2);         //扩展路径       NSString *Path = @"~/NSData.txt";     NSString *absolutePath = [Path stringByExpandingTildeInPath];     NSLog(@"absolutePath:%@",absolutePath);     NSLog(@"Path:%@",[absolutePath stringByAbbreviatingWithTildeInPath]);           //文件扩展名     NSString *Path = @"~/NSData.txt";     NSLog(@"Extension:%@",[Path pathExtension]);             /*******************************************************************************************      NSMutableString      *******************************************************************************************/           /*---------------给字符串分配容量----------------*/     //stringWithCapacity:     NSMutableString *String;     String = [NSMutableString stringWithCapacity:40];         /*---------------在已有字符串后面添加字符----------------*/           //appendString: and appendFormat:       NSMutableString *String1 = [[NSMutableString alloc] initWithString:@"This is a NSMutableString"];     //[String1 appendString:@", I will be adding some character"];     [String1 appendFormat:[NSString stringWithFormat:@", I will be adding some character"]];     NSLog(@"String1:%@",String1);     */         /*--------在已有字符串中按照所给出范围和长度删除字符------*/         /*      //deleteCharactersInRange:      NSMutableString *String1 = [[NSMutableString alloc] initWithString:@"This is a NSMutableString"];      [String1 deleteCharactersInRange:NSMakeRange(0, 5)];      NSLog(@"String1:%@",String1);            /*--------在已有字符串后面在所指定的位置中插入给出的字符串------*/       //-insertString: atIndex:     NSMutableString *String1 = [[NSMutableString alloc] initWithString:@"This is a NSMutableString"];     [String1 insertString:@"Hi! " atIndex:0];     NSLog(@"String1:%@",String1);           /*--------将已有的空符串换成其它的字符串------*/       //-setString:     NSMutableString *String1 = [[NSMutableString alloc] initWithString:@"This is a NSMutableString"];     [String1 setString:@"Hello Word!"];     NSLog(@"String1:%@",String1);           /*--------按照所给出的范围,和字符串替换的原有的字符------*/       //-setString:     NSMutableString *String1 = [[NSMutableString alloc] initWithString:@"This is a NSMutableString"];     [String1 replaceCharactersInRange:NSMakeRange(0, 4) withString:@"That"];     NSLog(@"String1:%@",String1);           /*-------------判断字符串内是否还包含别的字符串(前缀,后缀)-------------*/     //01:检查字符串是否以另一个字符串开头- (BOOL) hasPrefix: (NSString *) aString;     NSString *String1 = @"NSStringInformation.txt";     [String1 hasPrefix:@"NSString"] = = 1 ?  NSLog(@"YES") : NSLog(@"NO");     [String1 hasSuffix:@".txt"] = = 1 ?  NSLog(@"YES") : NSLog(@"NO");       //02:查找字符串某处是否包含其它字符串 - (NSRange) rangeOfString: (NSString *) aString,这一点前面在串中搜索子串用到过;           /*******************************************************************************************      NSArray      *******************************************************************************************/       /*---------------------------创建数组------------------------------*/     //NSArray *array = [[NSArray alloc] initWithObjects:     @"One",@"Two",@"Three",@"Four",nil];       self.dataArray = array;     [array release];       //- (unsigned) Count;数组所包含对象个数;     NSLog(@"self.dataArray cound:%d",[self.dataArray count]);       //- (id) objectAtIndex: (unsigned int) index;获取指定索引处的对象;     NSLog(@"self.dataArray cound 2:%@",[self.dataArray objectAtIndex:2]);         /*--------------------------从一个数组拷贝数据到另一数组(可变数级)----------------------------*/           //arrayWithArray:     //NSArray *array1 = [[NSArray alloc] init];     NSMutableArray *MutableArray = [[NSMutableArray alloc] init];     NSArray *array = [NSArray arrayWithObjects:                       @"a",@"b",@"c",nil];     NSLog(@"array:%@",array);     MutableArray = [NSMutableArray arrayWithArray:array];     NSLog(@"MutableArray:%@",MutableArray);       array1 = [NSArray arrayWithArray:array];     NSLog(@"array1:%@",array1);         //Copy       //id obj;     NSMutableArray *newArray = [[NSMutableArray alloc] init];     NSArray *oldArray = [NSArray arrayWithObjects:                          @"a",@"b",@"c",@"d",@"e",@"f",@"g",@"h",nil];       NSLog(@"oldArray:%@",oldArray);     for(int i = 0; i < [oldArray count]; i++)     {                 obj = [[oldArray objectAtIndex:i] copy];         [newArray addObject: obj];     }     //          NSLog(@"newArray:%@", newArray);     [newArray release];         //快速枚举       //NSMutableArray *newArray = [[NSMutableArray alloc] init];     NSArray *oldArray = [NSArray arrayWithObjects:                          @"a",@"b",@"c",@"d",@"e",@"f",@"g",@"h",nil];         NSLog(@"oldArray:%@",oldArray);       for(id obj in oldArray)     {         [newArray addObject: obj];     }     //          NSLog(@"newArray:%@", newArray);     [newArray release];             //Deep copy       //NSMutableArray *newArray = [[NSMutableArray alloc] init];     NSArray *oldArray = [NSArray arrayWithObjects:                          @"a",@"b",@"c",@"d",@"e",@"f",@"g",@"h",nil];         NSLog(@"oldArray:%@",oldArray);         newArray = (NSMutableArray*)CFPropertyListCreateDeepCopy(kCFAllocatorDefault, (CFPropertyListRef)oldArray, kCFPropertyListMutableContainers);     NSLog(@"newArray:%@", newArray);     [newArray release];             //Copy and sort       //NSMutableArray *newArray = [[NSMutableArray alloc] init];     NSArray *oldArray = [NSArray arrayWithObjects:                          @"b",@"a",@"e",@"d",@"c",@"f",@"h",@"g",nil];         NSLog(@"oldArray:%@",oldArray);     NSEnumerator *enumerator;     enumerator = [oldArray objectEnumerator];     id obj;     while(obj = [enumerator nextObject])     {         [newArray addObject: obj];     }     [newArray sortUsingSelector:@selector(compare:)];     NSLog(@"newArray:%@", newArray);     [newArray release];           /*---------------------------切分数组------------------------------*/       //从字符串分割到数组- componentsSeparatedByString:     NSString *string = [[NSString alloc] initWithString:@"One,Two,Three,Four"];     NSLog(@"string:%@",string);         NSArray *array = [string componentsSeparatedByString:@","];     NSLog(@"array:%@",array);     [string release];         //从数组合并元素到字符串- componentsJoinedByString:     NSArray *array = [[NSArray alloc] initWithObjects:@"One",@"Two",@"Three",@"Four",nil];     NSString *string = [array componentsJoinedByString:@","];     NSLog(@"string:%@",string);           /*******************************************************************************************      NSMutableArray      *******************************************************************************************/     /*---------------给数组分配容量----------------*/     //NSArray *array;     array = [NSMutableArray arrayWithCapacity:20];           /*--------------在数组末尾添加对象----------------*/     //- (void) addObject: (id) anObject;     //NSMutableArray *array = [NSMutableArray arrayWithObjects:     @"One",@"Two",@"Three",nil];     [array addObject:@"Four"];     NSLog(@"array:%@",array);           /*--------------删除数组中指定索引处对象----------------*/         //-(void) removeObjectAtIndex: (unsigned) index;         //NSMutableArray *array = [NSMutableArray arrayWithObjects:     @"One",@"Two",@"Three",nil];     [array removeObjectAtIndex:1];     NSLog(@"array:%@",array);           /*-------------数组枚举---------------*/         //- (NSEnumerator *)objectEnumerator;从前向后     //NSMutableArray *array = [NSMutableArray arrayWithObjects:     @"One",@"Two",@"Three",nil];     NSEnumerator *enumerator;     enumerator = [array objectEnumerator];       id thingie;     while (thingie = [enumerator nextObject]) {         NSLog(@"thingie:%@",thingie);     }         //- (NSEnumerator *)reverseObjectEnumerator;从后向前     //NSMutableArray *array = [NSMutableArray arrayWithObjects:     @"One",@"Two",@"Three",nil];     NSEnumerator *enumerator;     enumerator = [array reverseObjectEnumerator];       id object;     while (object = [enumerator nextObject]) {         NSLog(@"object:%@",object);     }         //快速枚举     //NSMutableArray *array = [NSMutableArray arrayWithObjects:     @"One",@"Two",@"Three",nil];     for(NSString *string in array)     {         NSLog(@"string:%@",string);     }           /*******************************************************************************************      NSDictionary      *******************************************************************************************/       /*------------------------------------创建字典------------------------------------*/     //- (id) initWithObjectsAndKeys;       //NSDictionary *dictionary = [[NSDictionary alloc] initWithObjectsAndKeys:@"One",@"1",@"Two",@"2",@"Three",@"3",nil];     NSString *string = [dictionary objectForKey:@"One"];     NSLog(@"string:%@",string);     NSLog(@"dictionary:%@",dictionary);     [dictionary release];         /*******************************************************************************************      NSMutableDictionary      *******************************************************************************************/       /*------------------------------------创建可变字典------------------------------------*/         //创建     NSMutableDictionary *dictionary = [NSMutableDictionary dictionary];       //添加字典     [dictionary setObject:@"One" forKey:@"1"];     [dictionary setObject:@"Two" forKey:@"2"];     [dictionary setObject:@"Three" forKey:@"3"];     [dictionary setObject:@"Four" forKey:@"4"];     NSLog(@"dictionary:%@",dictionary);       //删除指定的字典     [dictionary removeObjectForKey:@"3"];     NSLog(@"dictionary:%@",dictionary);         /*******************************************************************************************      NSValue(对任何对象进行包装)      *******************************************************************************************/       /*--------------------------------将NSRect放入NSArray中------------------------------------*/         //将NSRect放入NSArray中     NSMutableArray *array = [[NSMutableArray alloc] init];     NSValue *value;     CGRect rect = CGRectMake(0, 0, 320, 480);         value = [NSValue valueWithBytes:&rect objCType:@encode(CGRect)];     [array addObject:value];     NSLog(@"array:%@",array);       //从Array中提取     value = [array objectAtIndex:0];     [value getValue:&rect];     NSLog(@"value:%@",value);         /*******************************************************************************************      从目录搜索扩展名为jpg的文件      *******************************************************************************************/       //NSFileManager *fileManager = [NSFileManager defaultManager];     NSString *home;     home = @"../Users/";       NSDirectoryEnumerator *direnum;     direnum = [fileManager enumeratorAtPath: home];       NSMutableArray *files = [[NSMutableArray alloc] init];       //枚举     NSString *filename;     while (filename = [direnum nextObject]) {         if([[filename pathExtension] hasSuffix:@"jpg"]){             [files addObject:filename];         }     }       //快速枚举     //for(NSString *filename in direnum)     //{     //    if([[filename pathExtension] isEqualToString:@"jpg"]){     //        [files addObject:filename];     //    }     //}     NSLog(@"files:%@",files);       //枚举     NSEnumerator *filenum;     filenum = [files objectEnumerator];     while (filename = [filenum nextObject]) {         NSLog(@"filename:%@",filename);     }       //快速枚举     //for(id object in files)     //{     //    NSLog(@"object:%@",object);     //}

  • 相关阅读:
    Atitit 人脸识别 眼睛形态 attilax总结
    Atitit 手机号码选号 规范 流程 attilax总结 v2 r99.docx
    atitit 板块分类 上市公司 龙头企业公司 列表 attilax总结.docx
    Atititi atiitt eam pam资产管理 购物表去年.xlsx
    使用cmd查看电脑连接过的wifi密码(一)
    常见十大web攻击手段 悟寰轩
    常见web攻击方式 悟寰轩
    【MYSQL数据库】MYSQL学习笔记mysql分区基本操作 悟寰轩
    Filter及FilterChain的使用详解 悟寰轩
    启动tomcat spring初始化两次问题(eg:@PostConstruct) 悟寰轩
  • 原文地址:https://www.cnblogs.com/moonvan/p/2228890.html
Copyright © 2011-2022 走看看