zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    谈谈Ext JS的组件——组件基类:Ext.Component
    谈谈Ext JS组件之引子
    安装Compass时不能访问服务器的问题
    Android监听电池状态
    为macbook双系统的windows装驱动
    Activity中的四种启动模式
    【翻译】Ext JS 6 Beta发布
    eclipse下出现奇怪字符的解决方法
    浅谈设计模式
    【翻译】Ext JS 5:为不同设备设置不同的主题
  • 原文地址:https://www.cnblogs.com/aunty/p/5081356.html
Copyright © 2011-2022 走看看