Foundation Framework基础类

来源:互联网 发布:女性就业歧视知乎 编辑:程序博客网 时间:2024/06/06 05:40

NSObject类

常用数据类型:字符串、集合、各种数值

有用的数据类型:范围结构体、几何数据类型

范围结构体:

                  NSRange:

                                   表示相关事物的范围:包括字符串的字符范围、数组的元素范围。

                                   location字段:存放该范围的起始位置,值NSNotFound:用来表示无意义范围。

                                   length字段:该范围内所含元素的个数。

                  例如:

                            字符串“Objective-C is a cool language”中,单词“cool”可以用location为17,length为4的范围来表示。

                            typedef struct _NSRange

                            {

                                      unsigned int location;

                                      unsigned int length;

                            }NSRange;

创建范围结构体:

                          直接给字段赋值:表示相关事物的范围:

                                            NSRange range;

                                            range.location = 19;

                                            range.length = 4;

                          用C语言的聚合结构赋值机制:NSRange range = {17,4};

                          用NSMakeRange() , 好处是可以在任何能够使用函数的地方使用它,比如早方法调用中将其当成参数传递。

                                            NSRange  range  =  NSMakeRange(17,4);

几何数据类型:

                      点NSPoint , 代表一个点(x,    y), 用NSMakePoint() :

                                         typedef struct _NSPoint

                                         {

                                                    float x;

                                                    float y;

                                         }NSPoint;

                      尺寸NSSize , 用NSMakeSize() :

                                          typedef struct _NSSize

                                          {

                                                      float width;

                                                      float height;

                                          }NSSize;

                       区域NSRect , NSMakeRect() :

                                          typedef struct_NSRect

                                          { 

                                                       NSPoint origin;

                                                       NSSize size;

                                          }NSRect;

字符串:

            NSString:标志是双引号内的字符串前的@,如:@“GU!”

            创建字符串:省略号(...),它告诉我们(和编译器),这个方法可以接收多个以逗号隔开的其他参数。

                               +(id) stringWithFormat:(NSString *)format,...;

            创建一个新的字符串:

                                NSString *str;

                                str = [NSString  stringWithFormat: @"this is a string %@",2332];

            类方法:stingWithFormat声明方法时添加了加号+,是一个类方法,也是一个工厂方法,提供的参数创建新对象实现协议,类方法也可以用来访问全局数据。

            字符串的大小:NSString的length:方法,能够准确无误的处理国际字符串,

                                   unsigned int length = [str length];

            字符串的比较:isEqualToString:

            比较字符串的大小:

                                             NSString *string1  =  [[NSString allocinitWithFormat:@"a"];

                                        NSString *string2  =  [[NSString allocinitWithFormat:@"b"];

                                        NSLog(@"[string1 caseInsensitiveCompare:string2] :  %ld", [string1

                                                           caseInsensitiveCompare:string2]);


             将字符串转换为数组:componentsSeparatedByString:


            

             截取字符串对象:


                                  NSString *string  =  [NSString stringWithFormat:@"abcdef"];

                                  // 从字符串的开头一直截取到指定的位置,但不包括该位置的字符

                                  NSString *string1  = [string substringToIndex:2];

                                  // 以指定位置开始(包括指定位置的字符),并包括之后的全部字符

                                  NSString *string2  = [string substringFromIndex:2];



             截取字符串中的一段:

                                 NSRange rang;

                                   rang.location 2;

                                   rang.length 2;

                                   NSString *string3  = [string substringWithRange:rang];


             字符串内是否还包括别的字符串:

                                  - (NSRange) rangeOfString: (NSString *)str;

            检查字符串是否以另一个字符串开头、结尾:

                                   - (BOOL) hasPrefix: (NSString *)str;

                                   - (BOOL) hasSuffix: (NSString *)str;

可变字符串:NSMutableString

            字符串连接:- (void) appendString: (NSString *)str2;

            插入字符串:

                       NSMutableString *str =  [NSMutableString stringWithString:@"字符串"];

                           [str insertString:@"这是一个atIndex:0];

              删除字符串:

                          NSMutableString *str = [NSMutableString stringWithString:@"字符串拉拉啦"];

                          [str deleteCharactersInRange:NSMakeRange(12)];

              替换字符串:

                        NSMutableString *str =  [NSMutableString stringWithString:@"字符串"];

                         [str replaceCharactersInRange:NSMakeRange(02withString:@"拉拉啦了"];

集合:

            不可变数组:NSArray , 存储对象的有序列,可以在NSArray中放入任意类型的对象,但只能存OC的对象,而不                                   能存C语言中的基本数据类型,还不能存储nil,

                                创建一个新的NSArray:arrayWithObjects;

            可变数组:NSMutableArray , 

                              在数组末尾添加对象:addObject;

                              删除对象:removeObjectAtIndex:

枚举:NSEnumerator

               快速枚举:for (NSString *str  in  array)

                                {

                                }

字典:NSDictionary

              创建字典:dictionaryWithObjectsAndKeys:

              获取字典中的值:objectForKey:

              给字典添加元素:setObject:  forkey: 

              删除指定的元素:removeObjectForKey:

各种数值:NSNumber

                         包装基本数据类型,以对象形式实现,把简单数据类型封装成一个对象。

                          创建新的NSNumber对象的类方法:

                                  numberWithChar:

                                  numberWithInt:

                                  numberWithFloat:

                                  numberWithBool:

                   NSValue:

                           NSNumber是NSValue的子类,NSValue可以包装任意值,可用NSValue将结构放入NSArray和NSDictionary;

                                   + (NSValue *) valueWithBytes:(const  void *) value  objCType:(const  char *) type;


             

       

             


                       

          

                  

                                     

0 0
原创粉丝点击