NSString 函数整理

NSString 函数整理,第1张

概述#import <Foundation/Foundation.h> int main (int argc, const char * argv[]) {     NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];     //创建字符串     NSString *height;     /**类方法:      +(id) s #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; } 总结

以上是内存溢出为你收集整理的NSString 函数整理全部内容,希望文章能够帮你解决NSString 函数整理所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1056461.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存