Foundation框架惯用类小结

Foundation框架常用类小结
NSString & NSMutableString:
    NSString:不可变字符串类。
        常用方法:
                        - (unichar)characterAtIndex:(NSUInteger)index;返回index位置对应的字符
                        - (int)intValue;字符串转为基本数据类型
                        - (NSString *)stringByReplacingOccurrencesOfString:(NSString *)target withString:(NSString *)replacement;
                        - (NSString *)substringFromIndex:(NSUInteger)from;从指定位置from开始(包括指定位置的字符)到尾部
                       - (NSString *)substringToIndex:(NSUInteger)to;从字符串的开头一直截取到指定的位置to,但不包括该位置的字符
                       - (NSString *)substringWithRange:(NSRange)range;按照所给出的NSRange从字符串中截取子串
                        -(NSArray *)componentsSeparatedByString:(NSString *)separator;将一个字符串按指定的分隔符分隔成多个子串保存在数组中
    NSMutableString:继承自NSString,可变字符串类。
        常用方法:(方法一般都没有返回值,而是直接在原有字符串所占的内存空间中执行增删改查,不会新分配内存空间)
                      通过调用string方法, 创建一个空的NSMutableString
                    - (void)appendString:(NSString *)aString;//拼接aString到最后面
                    - (void)appendFormat:(NSString *)format, ...;//拼接一段格式化字符串到最后面
                    - (void)deleteCharactersInRange:(NSRange)range;//删除某一个范围的字符串
                    - (void)insertString:(NSString *)aString atIndex:(NSUInteger)loc; //在loc这个位置中插入aString
                    - (void)replaceCharactersInRange:(NSRange)range withString:(NSString *)aString; 使用aString替换range范围内的字符串
        注意:如果将一个字符串常量赋值给NSMutableString类型的变量,该变量的值也是不可变的
NSArray & NSMutableArray:将一个对象添加到数组中时,对象的retainCount会加1;当一个对象从数组中移除是retainCount会减1;当数组销毁时数组中的所有对
                                                    象的retainCount也都会减1
    NSArray:不可变数组,只能存放对象,有序
        常见用法:
                    - (NSUInteger)count; 获取集合元素个数 
                    - (id)objectAtIndex:(NSUInteger)index; 获得index位置的元素 
                    - (BOOL)containsObject:(id)anObject;是否包含某一个元素
                    - (id)lastObject; 返回最后一个元素 
                    - (id)firstObject; 返回最后一个元素 
                    - (NSUInteger)indexOfObject:(id)anObject; 查找anObject元素在数组中的位置(如果找不到,返回-1)NSNotFound 
                    - (NSUInteger)indexOfObject:(id)anObject inRange:(NSRange)range; 在range范围内查找anObject元素在数组中的位置
                    - (NSString *)componentsJoinedByString:(NSString *)separator; 这是NSArray的方法, 用separator作拼接符将数组元素拼接成一个字符串
                    
        简写形式:
                定义一个数组:
                    NSArray *array = @[@1,@2,@3];
                访问一个数组元素:
                    array[index];
    NSMutableArray:继承自NSArray,可变数组,只能存放对象
        常见用法:
                - (void)addObjectsFromArdObray:(NSArray *)array; 添加otherArray的全部元素到当前数组中 
                - (void)insertObject:(id)anObject atIndex:(NSUInteger)index; 在index位置插入一个元素
                - (void)removeLastObject; 删除最后一个元素 
                - (void)removeAllObjects; 删除所有的元素
                - (void)removeObjectAtIndex:(NSUInteger)index; 删除index位置的元素 
                - (void)removeObject:(id)object; 删除特定的元素 
                - (void)removeObjectsInRange:(NSRange)range; 删除range范围内的所有元素 
                - (void)replaceObjectAtIndex:(NSUInteger)index withObject:(id)anObject; 用anObject替换index位置对应的元素
                - (void)exchangeObjectAtIndex:(NSUInteger)idx1 withObjectAtIndex:(NSUInteger)idx2; 交换idx1和idx2位置的元素
        注意:
                NSMutableArray *array = @[@"bob", @"steve", @"john"];//这种方式创建的是不可变的数组
NSDictionary & NSMutableDictionary:
    NSDictionary :不可变字典,存放键值对,键和值都必须是对象,无序
        常见用法:
                    - (id)objectForKey:(id)aKey; 根据key取出value
                    - (BOOL)writeToFile:(NSString *)path atomically:(BOOL)useAuxiliaryFile;将字典保存在文件中
        简写形式:
                    NSDictionary *dictionary = @{@"zs" : @"zhangsan", @"ls" : @"lisi", @"ww" : @"Wangwu"}; //创建一个字典
                    dictionary [@"zs"] = @"zhangsan"; //获取字典的值
    NSMutableDictionary:可变字典
        常见用法:
                    - (void)setObject:(id)anObject forKey:(id <NSCopying>)aKey; 添加一个键值对(会把aKey之前对应的值给替换掉) 
                    - (void)removeObjectForKey:(id)aKey;通过aKey删除对应的value
                    - (void)removeAllObjects;删除所有的键值对
NSRange:
    表示一个范围的结构体类,包含两个成员变量,一个location一个length
     定义:
            typedef struct _NSRange {
                NSUInteger location;
                NSUInteger length;
            } NSRange;
        赋值:
                NSRange range = {5,8};
NSPoint & NSSize & NSRict:
    NSPoint:也是一个结构体类类,表示一个点,包含两个成员变量x和y
        定义:
                struct CGPoint {
                      CGFloat x;
                      CGFloat y;
                };
     NSSize :还是一个结构体类,表示一个矩形区域,包含两个成员变量width和hight
        定义:
                struct CGSize {
                    CGFloat width;
                    CGFloat height;
                };
    NSRict:又是一个结构体类,表示一个指定的矩形区域,包含两个成员变量NSPoint对象和NSSize对象 
        定义:
                struct {
                    NSPoint origin;
                    NSSize size;
                };
NSValue & NSNumber:
    NSValue:将结构体类型的数据分装成一个对象,方便存放在数组中
        常用方法:
                    + (NSValue *)valueWithPoint:(NSPoint)point;//将NSPoint类型的机构体包装成NSValue对象
                    - (NSPoint)pointValue;//取出包装前的NSPoint结构体的值
    NSNumber:将基本数据类型分装成一个NSNumber类型的对象方便存储在数组中。
        定义:当要转换的基本数据类型是一个常量时用:@常量值  分装成对象;当要转换的基本数据类型是一个变量时用:@(变量名)  分装成对象.
                NSNumber *num = @10;
                NSNumber *num = @10.2;
                int a = 10;
                NSNumber *num = @(a);
NSDate:
    用法:1)  2)  3)
            //1)定义NSDate
            NSDate *d1 = [NSDate date];
            //2)定义日期时间格式化的类
            NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
            formatter.dateFormat = @"yyyy-MM-dd HH:mm:ss Z";//HH : 24小时制;hh : 12小时制;Z : 时区
            //3)把Date转换为dataStr
            NSString *dateStr = [formatter stringFromDate:d1];

版权声明:本文为博主原创文章,未经博主允许不得转载。