常用基础库objectivec介绍_第1页
常用基础库objectivec介绍_第2页
常用基础库objectivec介绍_第3页
常用基础库objectivec介绍_第4页
常用基础库objectivec介绍_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ObjectiveC基础库介绍NSString创建字符串常见方法3NSString*astring=@"ThisisaString!";NSString*astring=[[NSStringalloc]initWithString:@"ThisisaString!"];

NSString

*astring

=

[NSString

stringWithFormat:@"我的名字:%@

我的年龄:%d

我的邮箱:%s",@“XiaoMing",

25,“"];

NSString

*astring

=

[NSString

stringWithUTF8String:"字符串转换"];

4合并两个字符串int

i

=

100;

char*c

=

“chinasofti";

NSString

*temp

=

@"我是临时字符串";

NSString

*str1

=

[temp

stringByAppendingFormat:@"整型:

%d

字符型

:%s",i,c];

NSString

*str2

=

[temp

stringByAppendingString:temp];

得到字符串长度5NSString*astring=@”HelloWorld”;NSIntegernum=[astringlength]NSLog(@”%d”,num);num=[astringlengthOfBytesUsingEncoding:NSUnicodeStringEncoding];NSLog(@”%d”,num);字符串比较6NSString*str1=@"ThisisaString!";NSString*str2=@"ThisisaString!";BOOLret=[str1isEqualToString:str2];if(ret){ NSLog(@”str1和str2字符串内容相同”);}else{ NSLog(@”str1和str2字符串内容不相同”);}注意,判断两个字符串内容是否相同,一定不可以这样判断:str1==str27NSString*str1=@"ThisisaString!";NSString*str2=@"Thisisastring!";NSComparisonResultret=[str1compare:str2]if(NSOrderedAscending==ret){ NSLog(@”str1小于str2”);}elseif(NSOrderedSame==ret){ NSLog(@”str1等于str2”);}elseif(NSOrderedDescending==ret){ NSLog(@”str1大于str2”);}8NSString*str0=@“icon_background.jpg“;

//字符串以开头比较

if([str0hasPrefix:@“icon"]){NSLog(@"str0字符串以icon开头");}

//字符串以结尾比较

if([str1hasSuffix:@“jpg]){NSLog(@"str0字符串以jpg结尾");}搜索字符串与替换字符串9NSString*str0=@"mynameisXiaoMing";NSString*temp=@"is";NSRangerang=[str0rangeOfString:temp];if(rang.location!=NSNotFound){ NSLog(@“{%d,%d}",rang.location,rang.length);}else{ NSLog(@”没有找到%@”,temp);}

NSString*str=[str0stringByReplacingCharactersInRange:rangwithString:@"啦啦啦……"];NSLog(@"替换后字符串为%@",str);

字符串的截取与大小写改变10NSString*str0=@"mynameisXiaoMing";

//截取字符串起始点到index为4之间的内容

NSString*to=[str0substringToIndex:4];

NSLog(@"to=%@",to);

//截取字符index为2到结尾之间的内容

NSString*from=[str0substringFromIndex:2];

NSLog(@"from=%@",from);

//设置截取字符串的范围,从第二位到第十位

NSRangerang=NSMakeRange(2,10);NSString*strRang=[str0substringWithRange:rang];NSLog(@"rang=%@",strRang);

//设置字符串首字母大写

NSLog(@"str0首字母大写:%@",[str0capitalizedString]);//设置字符串全部内容为大写

NSLog(@"str0大写:%@",[str0uppercaseString]);//设置字符全部内容为小写

NSLog(@"str0小写:%@",[str0lowercaseString]);数值转换doubleValuefloatValueintValueintegerValuelongLongValueboolValue11NSMutableString添加字符串13NSMutableString*str=[[NSMutableStringalloc]initWithString:@"Hello"];[strappendString:@"World!"];NSLog(@"str:%@",str);[strappendFormat:@"1+1=%d",1+1];NSLog(@"str:%@",str);[strrelease];NSMutableString是NSString的子类,它和NSString的主要区别在于可修改删除、插入、替换14NSMutableString*str=[[NSMutableStringalloc]initWithString:@"ThisisaNSMutableString"];[strdeleteCharactersInRange:NSMakeRange(0,5)];NSLog(@"str:%@",str);[strrelease];NSMutableString*str=[[NSMutableStringalloc]initWithString:@"ThisisaNSMutableString"];[strinsertString:@"Hi!"atIndex:0];NSLog(@"str:%@",str);[strrelease];NSMutableString*str=[[NSMutableStringalloc]initWithString:@"ThisisaNSMutableString"];[strreplaceCharactersInRange:NSMakeRange(0,4)withString:@"That"];NSLog(@"str:%@",str);[strrelease];NSArray和NSMutableArrayNSArray数组只可以管理OC对象,不可以管理非OC对象1617[arraycount]:数组的长度。

[arrayobjectAtIndex0]:传入数组脚标的id得到数据对象。

[arrayWithObjects;...]:向数组对象初始化赋值。这里可以写任意对象的指针,结尾必须使用nil。#import<Foundation/Foundation.h>intmain(intargc,constchar*argv[]){@autoreleasepool{NSArray*array=[NSArrayarrayWithObjects:@"a",@”b”,@"c",nil];NSLog(@"arrayCount:%lu",[arraycount]);//遍历数组

for(NSObject*objectinarray){NSLog(@"数组对象:%@",object);}}return0;}NSArray基本用法切割和合并18NSString*string=[[NSStringalloc]initWithString:@"One,Two,Three,Four"];NSLog(@"string:%@",string);NSArray*array=[stringcomponentsSeparatedByString:@","];NSLog(@"array:%@",array);[stringrelease];NSArray*array=[[NSArrayalloc]initWithObjects:@"One",@"Two",@"Three",@"Four",nil];NSString*string=[arraycomponentsJoinedByString:@","];NSLog(@"string:%@",string);NSMutableArray基本用法[NSMutableArrayarrayWithCapacity:0]:初始化可变数组对象的长度,如果后面代码继续添加数组超过长度0以后NSMutableArray的长度会自动扩充,6是自己可以设置的颗粒度。

[arrayaddObject:...]:向可变数组尾部添加数据对象。1920#import<Foundation/Foundation.h>intmain(intargc,constchar*argv[]){@autoreleasepool{

NSMutableArray*muArray=[NSMutableArrayarrayWithCapacity:6];[muArrayaddObject:@"对象1"];[muArrayaddObject:@"对象2"];[muArrayaddObject:@"对象3"];[muArrayaddObject:@"对象4"];[muArrayinsertObject:@"搅局的"atIndex:2];for(NSObject*objectinmuArray){NSLog(@"数组对象:%@",object);}}return0;}删除对象[arrayremoveObject:(id)]:删除数组中指定元素,根据对象isEqual消息判断。[arrayremoveObjectIdenticalTo:(id)]:删除数组中指定元素,根据对象的地址判断[arrayremoveObjectIdenticalTo:(id)inRange:(NSRange)]:在指定范围内删除指定的元素。[arrayremoveObjectAtIndex:(NSUInteger)]:删除数组中指定脚标索引的数据。[arrayremoveObjectsInArray:(NSArray*)]:删除一个数组的元素。2122intmain(intargc,constchar*argv[]){@autoreleasepool{NSString*str1=[[NSStringalloc]init];NSString*str2=[[NSStringalloc]init];NSString*str3=[str1stringByAppendingFormat:@"字符串"];NSString*str4=[str2stringByAppendingFormat:@"字符串"];NSMutableArray*muArray=[NSMutableArrayarrayWithCapacity:6];[muArrayaddObject:@"对象"];[muArrayaddObject:str3];[muArrayaddObject:str4];for(NSObject*objectinmuArray){NSLog(@"数组对象:%@",object);}if([str3isEqual:str4]){NSLog(@"str1isEqualstr2");}if(str3==str4){NSLog(@"str1==str2");}[muArrayremoveObject:str3];for(NSObject*objectinmuArray){NSLog(@"数组对象:%@",object);}[str1release];[str2release];}return0;}23intmain(intargc,constchar*argv[]){@autoreleasepool{NSString*str1=[[NSStringalloc]init];NSString*str2=[[NSStringalloc]init];NSString*str3=[str1stringByAppendingFormat:@"字符串"];NSString*str4=[str2stringByAppendingFormat:@"字符串"];NSMutableArray*muArray=[NSMutableArrayarrayWithCapacity:6];[muArrayaddObject:@"对象"];[muArrayaddObject:str3];[muArrayaddObject:str4];for(NSObject*objectinmuArray){NSLog(@"数组对象:%@",object);}if([str3isEqual:str4]){NSLog(@"str1isEqualstr2");}if(str3==str4){NSLog(@"str1==str2");}[muArrayremoveObjectIdenticalTo:str3];for(NSObject*objectinmuArray){NSLog(@"数组对象:%@",object);}[str1release];[str2release];}return0;}替换24intmain(intargc,constchar*argv[]){@autoreleasepool{NSMutableArray*muArray=[NSMutableArrayarrayWithCapacity:6];[muArrayaddObject:@"对象1"];[muArrayaddObject:@"对象2"];[muArrayaddObject:@"对象3"];[muArrayaddObject:@"对象4"];for(NSObject*objectinmuArray){NSLog(@"数组对象:%@",object);}[muArrayreplaceObjectAtIndex:2withObject:@"字符串替换回来"];for(NSObject*objectinmuArray){NSLog(@"数组对象:%@",object);}}return0;}NSDictionary和NSMutableDictionaryNSDictionary基本用法NSDictionary把数据以键值对的形式储存起来,取值的时候通过key就可以直接拿到对应的值,方便快捷。和NSArray一样,一个词典对象也能保存不同类型的值,词典也分别有不可变词典和可变的词典(NSDictionary与NSMutableDictionary),前者是线程安全的,后者不是。26[NSDictionarydictionaryWithObjectsAndKeys:..]:使用键值对直接创建词典对象,结尾必需使用nil标志结束。[dictionarycount]:得到词典的键值对数量。[dictionarykeyEnumerator]:将词典的所有key储存在NSEnumerator中,类似于Java语言中的迭代器[dictionaryobjectEnumerator]:将词典的所有value储存在NSEnumerator中[dictionaryobjectForKey:key]:通过传入key对象可以拿到当前key对应储存的值。2728intmain(intargc,constchar*argv[]){@autoreleasepool{NSDictionary*dictionary=[NSDictionarydictionaryWithObjectsAndKeys:@"25",@"age",@"张三",@"name",@"男",@"性别",nil];NSLog(@"%lu",[dictionarycount]);NSEnumerator*enumeratorKey=[dictionarykeyEnumerator];for(NSObject*objectinenumeratorKey){NSLog(@"key:%@",object);}

NSEnumerator*enumeratorObject=[dictionaryobjectEnumerator];for(NSObject*objectinenumeratorObject){NSLog(@"value:%@",object);}NSLog(@"keyname的值是:%@",[dictionaryobjectForKey:@"name"]);

}return0;}NSMutableDictionary基本用法[dictionarysetObject:forKey:]:向可变的词典动态的添加数据

[dictionaryremoveAllObjects..]:删除掉词典中的所有数据。

[dictionaryremoveObjectForKey..]:删除掉词典中指定key的数据2930intmain(intargc,constchar*argv[]){@autoreleasepool{NSMutableDictionary*dictionary=[NSMutableDictionarydictionaryWithObjectsAndKeys:@"25",@"age",@"张三",@"name",@"男",@"性别",nil];[dictionarysetObject:@"30名"forKey:@"名次"];

NSLog(@"%lu",[dictionarycount]);NSEnumerator*enumeratorKey=[dictionarykeyEnumerator];for(NSObject*objectinenumeratorKey){NSLog(@"key:%@",object);}

NSEnumerator*enumeratorObject=[dictionaryobjectEnumerator];for(NSObject*objectinenumeratorObject){NSLog(@"value:%@",object);}NSLog(@"key名次的值是:%@",[dictionaryobjectForKey:@"名次"]);[dictionaryremoveObjectForKey:@"名次"];NSLog(@"%lu",[dictionarycount]);}return0;}NSSet和NSMutableSetNSSet基本用法NSSet和NSMutableSet是无序的,但是它保证数据的唯一性。当插入相同的数据时,不会有任何效果。从内部实现来说是hash表,所以可以常数时间内查找一个数据。32[NSSetsetWithSet:(NSSet*)set];用另外一个set对象构造[NSSetsetWithArray:(NSArray*)array];用数组构造[NSSetsetWithObjects:...]:创建集合对象,并且初始化集合中的数值,结尾必需使用nil标志。[setcount];得到这个结合对象的长度。[setcontainsObject:...]:判断这个集合中是否存在传入的对象,返回BOOL值。[setobjectEnumerator]:将集合放入迭代器。[setisEqualToSet:objset]:判断两个集合是否完全相等,返回BOOL值。[setisSubsetOfSet:objset]:判断集合中的所有数据是否都相等与objeset集合中,返回BOOL值。3334intmain(intargc,constchar*argv[]){@autoreleasepool{NSSet*set=[NSSetsetWithObjects:@"25",@"age",@"张三",@"name",@"男",nil];NSSet*set1=[NSSetsetWithObjects:@"25",@"age",@"张三",@"name",@"男",@"性别",nil];

NSLog(@"setcount:%lu",[setcount]);if([setcontainsObject:@"age"]){NSLog(@"set包含age");}if([setisEqualToSet:set1]){NSLog(@"set等于set1");}if([setisSubsetOfSet:set1]){NSLog(@"setisSubsetOfSetset1");}NSArray*array=[setallObjects];NSLog(@"array:%@",array);

NSEnumerator*enumerator=[setobjectEnumerator];for(NSObject*objectinenumerator){NSLog(@"set1里的对象:%@",object);}}return0;}NSMutableSet的基本使用[NSMutableSetsetWithCapacity:6]:创建可变集合对象,并且初始化长度为6。[setaddObject:obj]:向集合中动态的添加对象。[setremoveObject:obj]:删除集合中的一个对象。[setremoveAllObjects]:删除集合中的所有对象。[setunionSet:obj]:向集合中添加一个obj集合的所有数据。[setminusSet:obj]:向集合中删除一个obj集合的所有数据。[setintersectSet:obj]:向集合中删除一个不包含obj集合的所有数据。35intmain(intargc,constchar*argv[]){@autoreleasepool{NSMutableSet*muSet=[NSMutableSetsetWithCapacity:6];[muSetaddObject:@"对象1"];NSSet*set=[NSSetsetWithObjects:@"对象2",@"对象3",@"被企鹅咬了一口",nil];//添加set数据

[muSetunionSet:set];for(NSObject*objectinmuSet){NSLog(@"allnuSet:%@",object);}NSSet*set1=[NSSetsetWit

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论