学习笔记15-OCFoundation框架(一)

1     框架是由许多类、函数、方法和文档按照一定的逻辑组织起来的集合。

2     NSString (字符串类)

一个NSString对象就代表一个字符串。是字符串的类。 类似java的String。

NSString 的创建

1) 创建字符串常量

 NSString * str =@“abc”; //存在常量区。相同字符串只有一份。

2) 格式化方法创建

NSString*str =[NSString stringWithFormat:@”aaa”];//存在堆区。

 

NSURL

url :统一资源定位符(地址)。

格式 : ulr == 协议://主机域名/路径。

 

使用url读写字符串

NSRRL *url =[NSURL URLWithString:@“http://baidu.com/wenjian/aa.txt”];//服务器文件路径或者本地文件路径,还可以调用手机系统程序。

NSRRL *url =[NSURL fileURLWithPath:@“/usr/test/aa.txt”];//本地文件路径不需要加网络协议

 

使用url写文件

[str writeToURL: url automically:YES encoding:NSUTF8StringEncoding  errer:nil];

automically:原子性,只能一个进程操作。

encoding:编码格式

errer:错误返回值。二级指针。

返回值类型:BOOL

 

使用url读文件

NSString *str=[NSString stringWithContentsofURL:urlencoding : NSUTF8StringEncoding  err:nil];

                     字符串函数

功能

函数名

使用方法

返回值类型(返回值)

备注

字符串比较

compare

[str1 compare:str2 ]

NSComparisonResult(-1、0、1)

有参数:比较规则

前缀检查

hasPrefix

[str  hasPrefix:@“http”]

BOOL

 

后缀检查

hasSuffix

[str  hasSuffix:@“.jpg”]

BOOL

 

字符串查找

rangOfString

[str1 rangOfString:str2]

NSRange(结构体类型)or NSNotFound

length子字符串长度 location 首次出现位置 没有查找到返回一个 最大值

字符串截取

substringFromIndex

[str  substringFromIndex:3]

NSString

包括开始位置

substringToIndex

[str  substringToIndex:3]

NSString

不包括结束位置

字符串替换

stringByRepleace……

stringByRepleace……A with B

NSString

用B替换A

获取每个字符

charcaterAtIndex

charcaterAtIndex:i

unichar

 

获取字符长度

length

 

 

 

获取字符串的数值

intValue

[str intValue]

int

其他类型类推

 

                    

                    

NSRange

是一个结构体,表示事物的范围,通常是字符串里字符范围或者数组元素的范围

定义如下

              typedef struct _NSRange{

                     NSUIntegerlocation;  //范围起始位置

                     NSUIntegerlength;    //范围长度

} NSRange

 

                            通过函数赋值

                                   NSRangerange = NSMakeRange(2,3);

                            转换为字符串形式

 

                                   NSString *str =[NSString NSStringFromRange:range];

                    

              将C中的字符串转换为OC的字符串

                     char*s = “xiaoming“;

                     NSString *str =[ NSString stringWithUTF8String:s];

将OC中的字符串转换为C的字符串

                     NSString *str = @”xiaoming“;

                     char *s = [str UTF8String];

 

3     NSMutableString(可变字符串类)

   使用NSMutableString 可以对字符串进行增和删操作。修改字符串,不改变地址。

   创建字符串

              NSMutableString * str[NSMutableString  stringWithFoemat:@”abc”] ;

追加字符串

    [str appendString:@“def”];  //追加之后的地址不变 不需要变量接收。

删除字符串

        [str deleteCharactersInRange:range];

插入字符串

        [str insertString@“xxx”atIndex:int loc]; //将字符xxx串插入到loc位置

替换字符串

        [str replaceCharactersInRange:rangewithString:@”xxx”]; //将range之间的字符串替换为xxx。

注意

 NSString类型不能赋值给 NSMutableString类型的变量

NSMutableString *str =@”xxx”; //运行时报错 xxx是常量

          string属性

          str.string=@“”; // 用空覆盖之前的字符串。

4     NSArray(数组类)

   存储的是OC中的对象,不能存储基本类型。

   数组的创建是调用该类的类方法和对象方法。

       

创建数组

        1)创建空数组

               NSArray *array =[NSArray array];

        2)创建数组有一个对象

              NSArray *array =[NSArray arrayWithObject:@”1“];

3) 创建数组有多个对象

NSArray *array= [NSArray arrayWithObjects:@”1“,@”2“,nil];//常用写法

4) 用对象方法创建数组

NSarray*array=    [[NSarray alloc ] initWith Objects:@”1“,@”2“,nil]];

5) 用数组创建数组

       NSarray *arr=[NSArrayWithArray:array];

6)简化的方法定义数组

NSArray *arr=@[@”1”,@”one”];

查看数组

       数组是对象,可以直接用 %@ 打印

常用方法

       count :获取数组长度

       objectAtIndex:index : 获取下标为index的对象

    indexOfObject:对象   :获取对象的下标

       containsObject:对象;是否包含对象

遍历数组

              for(int i=0;i<count;I++){

                     NSLog(@“%@“,arr[I]);

}

 

for(NSSting *str ,in arr){

                     NSLog(@“%@“,str);

 

}

 

arr enumerateObjectsUsingBlock:…… //可以设置停止的条件

              NSArray写文件

                     [ array writeToFile:@“路径“  automically:YES]; //返回值为BOOL

              NSArray读文件

                     NSArray*arr=[NSArray arrayWithContentsOfFile:路径]

 

NSArray与字符串

       把数组元素链接成字符串

              NSArray *arr=@[@”ONE”,@”TWO”,@”THREE”];

              NSString *str=[arrcomponentsJoinByString:分隔符];

       分割字符串存到数组

              NSString *str=@“400-800-12580“;//

              NSArray *arr=[strcomponentsSepararedByString:分隔符];

 

6     NSMutableArray(可变数组类)

  可变数组,长度可变,地址不变

       创建数组

              NSMutableArray * arr= [ NSMutableArray  array];

       创建数组的时候初始化元素 (类比Array)

      

       创建的时候指定数组长度

              [NSMutableArray  arrayWithCapacity:长度];

       添加元素

              [arr addObject:@””];

       插入元素

              [arr insertObject:@”“ atIndex:location ];

       删除元素

              [arr removeObject:@“”];//根据元素删除

              [arr removeObjectAtIndex:1];//根据下标删除

              [arr removeAllObject]; //删除全部

       修改元素

              [ arr  replaceObjectAtIndex:1withObject:对象];//根据下标替换

              arr[3]=@””;//直接修改

       查找元素

              [arr containsObject:对象]; //0 没有 1 有

       交换元素

              [arr exchangeObjectAtIndex:int withObjectAtIndex:int];

             

           

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值