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
  • 相关阅读:
    LeetCode15 3Sum
    LeetCode10 Regular Expression Matching
    LeetCode20 Valid Parentheses
    LeetCode21 Merge Two Sorted Lists
    LeetCode13 Roman to Integer
    LeetCode12 Integer to Roman
    LeetCode11 Container With Most Water
    LeetCode19 Remove Nth Node From End of List
    LeetCode14 Longest Common Prefix
    LeetCode9 Palindrome Number
  • 原文地址:https://www.cnblogs.com/aunty/p/5081356.html
Copyright © 2011-2022 走看看