zoukankan      html  css  js  c++  java
  • ios 常用字符串的操作

    //将NSData转化为NSString
            NSString* str = [[NSString alloc] initWithData:response encoding:NSUTF8StringEncoding];
    //将NSString 转化为NSData 
    (NSString.h)
    - (NSData *)dataUsingEncoding:(NSStringEncoding)encoding;  



     //载一个字符串中删除一个字符或字符串
    [_display deleteCharactersInRange:NSMakeRange(index_of_char_to_remove, 1)];

    数学转换为字符串
    NSString *returnStr;
    returnStr = [[NSNumber numberWithInt:row] stringValue];




         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);  
        //}  







        #import <Foundation/Foundation.h>  
          
        int main (int argc, const char * argv[]) {  
            NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];  
            //创建字符串  
            NSString *height;  
            /**类方法: 
             +(id) stringWithFormat: (NSString *) format,... 
             通过格式字符串和参数来创建NSString 
             省略号(。。。):可以接受多个以逗号分割的参数。 
             这声明方法时添加加号(+),那么这个方法为类方法,不需要创建实例就可以调用,通常用于创建心的实例,我们称用来创建新对象的类方法为工厂方法。 
             ------------------- 
             objective-c运行时生成一个类的时候,它会创建一个代表该类的类对象。类对象包含了指向超类的指针,类名,和指向类方法列表的指针。类对象还包含一个long型数据,为新创建的类实例对象指定大小(以字节为单位) 
              
             类方法可以用来访问全局数据。 
              
             实例方法要用前导减号(-)来开始声明 
              
             */  
              
            height=[NSString stringWithFormat:@"you heigh is %d feet,%d inches",5,11];  
            NSLog(height);  
            //length 返回字符串中字符的个数。-(unsigned int) length;  
            if([height length]>5){  
                NSLog(@"height length ------");  
            }  
              
            //字符串比较  
            /** 
             isEqualToString :可以用来比较接收方和当作参数传递来的字符串的内容是否相同,返回yes和no 
             */  
            NSString *thing1=@"hello";  
            NSString *thing2=[[NSString alloc] initWithString:@"hello"];  
            if([thing1 isEqualToString:thing2]){  
                NSLog(@"they are same");      
            }  
            /** 
             ==:只判断指针数值,而不是它们所指向的内容 
             */  
            if(thing1==thing2){  
                NSLog(@"== same");  
            }  
              
            /* 
             compare:比较两个字符串。区分大小写 
             compare将接收对象和传递来的字符串逐个字符的进行比较,它返回一个NSComparisonResult(枚举类型)来显示结果。 
             typedef enum _NSComparisonResult{ 
             NSOrderedAscending=-1; 
             NSOrderedsame; 
             NSOrderedDescending; 
             } NSComparisonResult; 
             */  
            [thing1 compare:thing2];  
            if(NSOrderedSame==[thing1 compare:thing2]){  
                NSLog(@"compare same");   
            }  
              
            //compare:options:   
            /*** 
             -(NSComparisonResult) compare:(NSString *) string  
             options:(unsinged) mask; 
              
             options 是一个位掩码,可以使用|添加选项标记 
             选项: 
             NSCaseInsensitiveSearch:不区分大小写字符 
             NSLiteralSearch:进行完全比较,区分大小写 
             NSNumbericSearch:比较字符串的字符个数,而不是字符值 
             */  
            if([thing1 compare:thing2 options:NSCaseInsensitiveSearch|  
                 NSNumericSearch]==NSOrderedSame){  
                NSLog(@"they match");  
            }  
              
            /** 
             以某个字符串开始或结尾 
             -(BOOL) hasPrefix:(NSString *) aString; 
             -(BOOL) hasSuffix:(NSString *) aString; 
             */  
            NSString *fileName=@"aabbbcc";  
            if([fileName hasPrefix:@"aa"]){  
                NSLog(@"begin with aa");  
            }  
              
            if([fileName hasSuffix:@"cc"]){  
                NSLog(@"end with cc");  
            }  
              
            //NSMutableString 可变字符串  
            //SString 是不可变的,一旦NSString 被创建了,我们就不能改变它。  
              
            //+(id) stringWithCapacity:(unsinged) capacity; capacity:是给NSMutableString的一个建议,字符串的大小并不局限于所提供的大小,这个容量仅是个最优值。  
              
            NSMutableString *str=[NSMutableString stringWithCapacity:40];  
            [str appendFormat:@"sdfsdf%d",5];  
            [str appendString:@"ssssssss"];  
            NSLog(str);  
              
            //删除字符串  
            //-(void) deleteCharactersInRange:(NSRange) range;  
              
            NSMutableString *ms;  
            ms=[NSMutableString stringWithCapacity:50];  
            [ms appendString:@"aabbccdd"];  
            NSRange range;  
            range=[ms rangeOfString:@"cc"];  
            [ms deleteCharactersInRange:range];  
            NSLog(ms);  
              
            //与实例方法一样,继承对类方法也同样适用  
              
            //------------------集合--------------  
            //NSArray ,NSDictionary  
            /** 
             NSArray 是一个cocoa类,用来存储对象的有序列表。 
            NSArray有两个限制:1,它只能存储objective-c的对象,而不能存储c语言中的基本数据类型如int,float,enum,struct,或者nsarray中的随机指针。2,不能这nsarray中存储nil 
              
             类方法: 
             arrayWithObjects:创建一个新的nsarray。发送一个以逗号分割的对象列表,这列表结尾添加nil代表列表结束,(这就是不能这nsarray中存储nil的原因) 
              
             */  
            NSArray *array=[NSArray arrayWithObjects:@"aa",@"bb",@"cc",nil];  
              
            //-(unsigned) count; 取得包含对象的个数  
            //-(id) objectAtIndex:(unsigned int) index; 取得索引位置的对象  
              
            int i;  
            for (i=0; i<[array count]; i++) {  
                NSLog(@"index %d has %@",i,[array objectAtIndex:i]);  
            }  
              
            //------------切分数组  
            //-componentsSeparatedByString:  
            NSString *ns=@"sdf,dsfs,dfd,fdf,df,dd";  
            NSArray *comArr=[ns componentsSeparatedByString:@","];  
            for(int i=0;i<[comArr count];i++){  
                NSLog(@"componentsSeparatedByString===%@",[comArr objectAtIndex:i]);  
            }  
              
            //componentJoinedByString: 合并nsarray中的元素来创建字符串  
            NSString *joinedStr=[comArr componentsJoinedByString:@"-->"];  
            NSLog(@"joined---= %@",joinedStr);  
              
            //可变数组  
            NSMutableArray *mutableArr=[NSMutableArray arrayWithCapacity:40];  
            [mutableArr addObject:@"aa"];  
            [mutableArr addObject:@"bb"];  
            [mutableArr addObject:@"cc"];  
            [mutableArr addObject:@"dd"];  
              
            for(int i=0;i<[mutableArr count];i++){  
                NSLog(@"mutableArr==%@",[mutableArr objectAtIndex:i]);  
            }  
              
            //-----  -(void) removeObjectAtIndex:(unsinged) index; 删除指定索引的对象,  
            //删除一个对象之后,数组中并没有留下漏洞,被删除对象后面的数组元素的哦被前移来填补空缺  
            [mutableArr removeObjectAtIndex:2];  
            for(int i=0;i<[mutableArr count];i++){  
                NSLog(@"removeObjectAtIndex == %@",[mutableArr objectAtIndex:i]);  
            }  
              
            //枚举  
            //NSEnumerator ,它是cocoa用来描述这种集合迭代运输的方法  
            //-(NSEnumerator *) objectEnumerator;  
            NSEnumerator *enumerator=[mutableArr objectEnumerator];  
            id thingie;  
            while(thingie=[enumerator nextObject]){  
                NSLog(@"i found %@",thingie);  
            }  
              
            //快速枚举  
            for(NSString *string in mutableArr){  
                NSLog(@"for in == %@",string);  
            }  
              
            //NSDictionary 字典  
            /* 
             NSDictionary 是在给定的关键字(通常是一个NSString字符串)下存储一个数值(可以是任何类型的对象)。然后你可以用这个关键字来查找相应的数值。 
             NSDictionary 是键查询的优化存储方式。它可以立即找出要查询的数据,而不需要遍历整个数组进行查找。 
              
             +(id) dictionaryWithObjectAndKeys:(id) firstObject,....; 
             该方法接收对象和关键字交替出现的系列,以nil值作为终止符号。 
             **/  
            NSDictionary *dic=[NSDictionary dictionaryWithObjectsAndKeys:@"aaa",@"a",@"bbb",@"b",nil];  
            NSString *dicStr=[dic objectForKey:@"a"];  
            if([dicStr isEqualToString:@"aaa"]){  
                NSLog(@"------------00000000000000000");  
            }  
              
            //可变字典  
            NSMutableDictionary *mutableDic=[NSMutableDictionary dictionaryWithCapacity:50];  
            [mutableDic setObject:@"1111" forKey:@"1"];  
            [mutableDic setObject:@"222" forKey:@"2"];  
              
            //删除 -(void) removeObjectForKe:(id) key;  
            [mutableDic removeObjectForKey:@"2"];  
              
            NSArray *keyArr=[mutableDic allKeys];  
            for(NSString *str in keyArr){  
                NSLog(@"key== %@",str);  
                NSLog(@"value== %@",[mutableDic objectForKey:str]);  
            }  
              
              
            //各种数值,NSNumber NSValue  
            /* 
             cocoa 提供了NSNumber类来包装基本数据类型 
             +(NSNumber *) numberWithChar:(char) value; 
             +(NSNumber *) numberWithInt:(int) value; 
             +(NSNumber *) numberWithFloat:(float) value; 
             +(NSNumber *) numberWthiBool:(BOOL) value; 
              
             -(char) charValue; 
             -(int) intVlaue; 
             -(float) floatValue; 
             -(BOOL) boolValue; 
             -(NSString *) stringValue; 
              
              
             **/  
            NSNumber *number;  
            number=[NSNumber numberWithInt:3];  
            [mutableDic setObject:number forKey:@"int"];  
              
            int num=[[mutableDic objectForKey:@"int"] intValue];  
            NSLog(@"int object value== %d",num);  
              
              
            //NSValue .NSNumber实际上是NSValue的子类,NSValue可以包装任意值  
              
            /** 
             +(NSValue *) valueWithBytes:(const void *) value objCType:(const char *) type; 
             传递的参数是你想要包装的数值的地址,通常,得到的是你想要存储的变量的地址(在c语言里适用操作符 & ),你也可以提供一个描述这个数据类型的字符串,通常用来说明struct中实体的类型和大小。你不用自己写代码 
             来生成这个字符串,@encode编译器指令可以接受数据类型的名称并为你生成合适的字符串 
             */  
            NSRect rect= NSMakeRect(1, 2, 30, 40);  
              
            NSValue *value;  
            value=[NSValue valueWithBytes:&rect objCType:@encode(NSRect)];  
            NSMutableArray *mr=[NSMutableArray arrayWithCapacity:50];  
            [mr addObject:value];  
               
            //getValue 提取数据  
            /** 
             -(void) getValue:(void *) value; 要传递的是存储这个数值的变量的地址 
             */  
              
            /*** 
            value=[mr objectAtIndex:0]; 
              
            NSRect r; 
            NSLog(@"00000 ===%@",r); 
            [value getValue:&r]; 
            NSLog(@"111== %@",r); 
            */  
              
            /** 
             +(NSValue *) valueWithPoint:(NSPoint) point; 
             +(NSValue *) valueWithSize:(NSSize) size; 
             +(NSValue *) valueWithRect:(NSRect) rect; 
              
              
              
             -(NSPoint) pointValue; 
             -(NSSize) sizeValue; 
             -(NSRect) rectValue; 
              
             */  
              
            //NSNull   
            /* 
             *+(NSNull *) null;  
            */  
            [mutableDic setObject:[NSNull null] forKey:@"fax"];  
            id fax;  
            fax=[mutableDic objectForKey:@"fax"];  
            if(fax==[NSNull null]){  
                NSLog(@"pppppppppppppppppp");  
            }  
              
            [pool drain];  
            return 0;  
        }  

  • 相关阅读:
    leetcode Remove Linked List Elements
    leetcode Word Pattern
    leetcode Isomorphic Strings
    leetcode Valid Parentheses
    leetcode Remove Nth Node From End of List
    leetcode Contains Duplicate II
    leetcode Rectangle Area
    leetcode Length of Last Word
    leetcode Valid Sudoku
    leetcode Reverse Bits
  • 原文地址:https://www.cnblogs.com/Sucri/p/4806678.html
Copyright © 2011-2022 走看看