iOS 的 Foundation 框架

框架-->众多功能API的集合

Foundation框架的作用

Foundation框架是mac/iOS中其他框架的基础;

Foundation框架包含了很多开发中常用的数据类型;(结构体,枚举,类)

例如 类:

NSString NSArray NSDictonary NSDate NSData NSNumber

NSRange 
用来表示相关事物的范围,通ipkhj字符串里的字符范围或者数组里的元素范围.location 字段存放该范围的起始位置,而length字段则是范围内所含元素的个数。
NSRange range = {17,4}
NSRange range = NSMakeRange(17,4);
 
 
 
NSPoint
代表的是笛卡尔平面中的一个点(x,y); NSMakePoint();
 
 
 
NSSize 
用来存储长度和宽度 width,height; NSMakeSize();
 
 
 
NSRect
矩形数据 origin,size ; NSMakeRect();
 
 
NSString 
实例化后不能进行修改 如删除字符或者添加字符的方式来改变它
stringWithFormat 类方法,不需要实例化类直接调用,支持多个动态参数
length 大小长度,能够准确无误地处理国际字符串如,俄文,中文
isEqualToString 用来比较接收方(接收消息的对象)和当作参数传递来的字符串,返回一个BOOL
 compare 将接收对象和传递来的字符串 字符进行比较,它返回一个NSComparisonResult(一个enum型数据)NSOrderedAscending=-1左边的数值小于右侧的数值,NSOrderedSame左右两边的字符串相同,NSOrderedDescending,右边的数值小于左边的数值
 比较两个字符串是否相等时,应该用isEqualToString,
-(NSComparisonResult)compare:(NSString *) string options:(unsigned)mask;
options值有:
NSCaseInsensitiveSearch:不区分大小写字符
NSLiteralSearch:进行完全比较,区分大小写
NSNumericSearch:比较字符串的字符个数,而不是字符串
-(BOOL)hasPrefix:(NSString *)aString;判断是否以指定的字符串开始
- (BOOL) hasSuffix:(NSString *) aString;判断是否以指定的字符串结束
-(NSRange)rangeOfString:(NSString *)aString; 字符串内的某处是否包含其他字符串
 
 
 
NSMutableString
+(id)stringWithCapacity:(unsigned)capacity; 用来创建对象
-(id)appendString:(NSString)astring; 附加新的字符串
-(id)appendFormat:(NSString)format,…..;附加格式化的字符串
-(void)deleteCharactersInRange:(NSRange)range;删除字符串中的字符
 
 
NSArray 
与NSString一样创建的是不可变对象的数组
只能存储Object-c的对象,而不能存储C中的基本数据类型,如int 、float、enum、struct 或者NSArray中的随机指针。同时,也不能在NSArray中存储nil(对象的零值或null值)
可以通过类方法arrayWithObjects创建一个新的NSArray。
NSArray *array;
array = [NSArray arrayWithObjects:@"one",@"two",@"three",nil]
-(unsigned)count;获得它所包含的对象个数
-(id)objectAtIndex:(unsigned int)index 获取特定索引的对象
NSString *string = @"oop:ack:bork:greeble:ponies";
NSArray *chunks = [string componentsSeparatedByString: @":"] 使用NSString 的-componentsSeparatedByString来切分NSArray
string = [chunks componentsJoinedByString:@":"] 用componentsJoinedByString来合并NSArray
 
 
 
NSMutableArray
 可变数组
NSMutableArray通过类方法arrayWithCapacity来创建新的可变数组
+(id)arrayWithCapacity:(unsigned)numItems;
-(void)addObject:(id)anObject; 在数组末尾添加对象
-(void)removeObjectAtIndex:(unsigned)index删除特定索引处的对象
 
 
 
 
NSEnumerator 
它是cocoa用来描述这种集合失代运算的方式。要想使用NSEnumerator,可以通过objectEnumerator向数组请求枚举器:
-(NSEnumerator*)objectEnumerator;
eg: NSEnumerator *enumerator;
enumerator = [array objectEnumerator];
如果想要从后向前浏览集合,还有一个方法reverseObjectEnumerator
-(id)nextObject;获取下一个对象,当nextObject返回nil值时,循环结束。
eg:
id thingie;
while(thingie = [enumerator nextObject]){
…..
}
循环数组还有一种方法:
for(NSString *string in array){
NSLog(@"I found %@",string);
}
 
 
 
NSDictionary
在给定的关键字(通常是一个NSString字符串)下存蓄一个数值(可以是任何类型的对象)。然后你就可以用这个关键字来查找相应的数值。在创建新的NSDictionary时,就要提供该字典所存储的全部对象和关键字。
+(id)dictionaryWithObjectsAndKeys:(id)firstObject,…;创建字典。该方法接受对象和关键字交替存储的系系,以nil值作为终止符号(不能在NSDictionary中存储nil值)
eg:
NSDictionary *tires;
tires = [NSDictionary dictionaryWithObjectsAndKeys:t1,@"front-left",t2,@"front-right",t3,@"back-left",t4,@"back-right",nil];//t为对象实例
-(id)objectForKey:(id)akey; 获取字典中的值,如key不存在会返回nil值
 
 
 
NSMutableDictionary 
允许你阴意添加和岫除字典元素。要创建新的NSMutableDictionary对象,向类NSMutableDictionary 发送dictionary消息。你也可以使用dictionaryWithCapacity:方法来创建新的可变字典并且告诉Cocoa该字典的最终大小
+(id)dictionaryWithCapacity:(unsigned int)numItems;创建字典
dictionary eg:
NSMutableDictionary *tires;
tires = [NSMutableDictionary dictionary];
-(void)setObject:(id)anObject forKey:(id)akey;向字典中添加值
-(void)removeObjectForKey:(id)akey; 删除集合中的值
 
 
 
NSNumber
包装基本数据类型。可以使用下列类方法创建新的NSNumber对象:
+(NSNumber *)numberWithChar:(char)value;
+(NSNumber *)numberWithint:(int)value;
+(NSNumber *) numberWithFloat:(float)value;
+(NSNumber *) numberWithBool:(BOOL)value;
将一个基本类型数据封装到NSNumber中后,就可以通过下面的实例方法重新获得它:
-(char) charValue;
-(int)intValue;
-(float)floatValue;
-(BOOL)boolValue;
-(NSString *)stringValue;
用numberWithFloat:创建的NSNumber可以用intValue来提取数值。NSNumber会对数据进行适当的转换。
 
 
NSValue
+(NSValue *)valueWithBytes:(const void *)value objCtype:(const char *)type; 创建新的NSValue
-(void)getValue:(void *)value; 提取数值
 
 
NSNull
nil的别一种对象表示法,在不能使用nil的地方使用NSNULL
+(NSNull * )null; 创建新的NSNull
原文地址:https://www.cnblogs.com/aunty/p/5081356.html