4、NSString、NSArray、NSNumber

来源:互联网 发布:二端口纯电阻 编辑:程序博客网 时间:2024/06/04 18:31

使⽤用苹果帮助⽂文档

打开:
Xcode—>Help—>Documentation and API Reference
⽂档基本信息

  • Inherits from 继承⾃
  • Conforms to 遵循什么协议
  • Framework 属于哪个框架
  • Availability 什么时候可⽤的
  • Declared in 声明在什么头⽂件⾥
  • Related documents 相关⽂档
  • Sample code ⽰例代码

快速打开

commond + shift + 0 //打开API快捷方式

在代码中,将⿏标停留在类名或者⽅法名上,option(alt)+⿏标左键,点击Reference的超链接进⼊帮助⽂档

也可使⽤command+⿏标左键,进⼊头⽂件,查看类的接⼝部分


NSString和NSMutableString的使⽤

Foundation框架

Foundation框架是Cocoa编程,iOS编程的基础框架,包括:字符串、集合、⽇期、时间等基础类
字符串、数组、字典都属于Foundation框架

字符串

  • C语⾔中,字符串是由char(ASCII码)字符组成
  • OC中,字符串是由unichar(Unicode)字符组成
  • NSString,不可变字符串,即:创建以后,内容和⻓度不能更改
  • NSMutableString,可变字符串,即:创建以后,内容还可以修改
  • 创建⼀个新的字符串,可以使⽤实例⽅法和便利构造器

NSString常⽤⽅法

参考资料:
OC中NSString 的常用方法
OC字符串常用函数
ios 常用字符串的操作 //啦啦,我是最详细的~
- 获取字符串⻓度

NSLog(@"%ld",[str1 length]);   //求字符串长度
  • 获取⼦字符串

    NSString * str5 = @”helloworld”;

    NSString * ptr1 = [str5 substringToIndex:4];//字符串抽取 从下标0开始到4 不包括4

    NSString * ptr2 = [str5 substringFromIndex:5];//从下标5开始抽取到字符串结束 包括5

    NSRange range1 = {4,3};//结构体初始化

    NSString * ptr3 = [str5 substringWithRange:range1];//在range指定范围内抽取

    NSString * ptr4 = [str5 substringWithRange:NSMakeRange(4,3)];//NSMakeRange可以生成一个结构体

  • 拼接字符串

    //拼接字符串不会改变原有的字符串,但将拼接好的字符串作为返回值
    NSString *s1 = @”iPhone”;
    NSString *s2 = @”new”;
    NSLog(@”%@”,[s1 stringByAppendingString:s2]);

  • 替换字符串

    //字符串替换
    NSLog(@”%@”,[str2 stringByReplacingOccurrencesOfString:str2 withString:@”sdfgsdg”]);

  • 字符串相等

    BOOL ret = [str1 isEqualTo:str2];//比较两个字符串是否相等,相等返回YES(1),不相等返回NO(0) (BOOL YES(1) NO(0))

  • 字符串⽐较

    long ret1 = [str1 compare:str2];//比较两个字符串的大小,str1大于 返回1 相等返回0 小于返回-1

    //compare方法(comparer返回的三种值)
    NSString *astring01 = @”This is a String!”;
    NSString *astring02 = @”This is a String!”;
    BOOL result = [astring01 compare:astring02] = = NSOrderedSame; //NSOrderedSame判断两者内容是否相同,相当于0
    NSLog(@”result:%d”,result);

    result = [astring01 compare:astring02] = = NSOrderedAscending; //升序,即01<02
    //NSOrderedAscending判断两对象值的大小(按字母顺序进行比较,astring02大于astring01为真)
    NSLog(@”result:%d”,result);

    result = [astring01 compare:astring02] = = NSOrderedDescending;//判断是否是降序排列,即01>02
    NSLog(@”result:%d”,result);
    //NSOrderedDescending判断两对象值的大小(按字母顺序进行比较,astring02小于astring01为真)

    long ret2 = [str1 caseInsensitiveCompare:str2];//不区分大小写比较字符串大小

NSMutableString

NSMutableString是NSString 类的⼦类
该类创建的字符串是⼀个动态的可变的字符串,可以对字符串进⾏增删改等操作
常用方法:

  • 创建⼀个新的字符串

    NSMutableString * str = [[NSMutableString alloc]initWithString:@”hello”];//将不可变的字符串转换为可变的字符串

  • 拼接字符串

    [str appendString:@”123”];//在字符串末尾追加字符串

  • 插⼊字符

    [str insertString:@”123” atIndex:1];//在指定下标(不要越界)位置插入NSString类型字符串

  • 删除字符串

    [str deleteCharactersInRange:NSMakeRange(0, 2)];//从指定下标删除length个字符

  • 替换字符串

    [str replaceCharactersInRange:NSMakeRange(3, 1) withString:@”ios”];//将指定下标位置的length个字符替换为指定的字符串

NSMutableString(可变)与NSString(不可变)

  • 不可变字符串的修改操作,本质就是得到⼀个新的字符串
  • 不可变字符串的修改⽅法以string开头,有返回值
  • 可变字符串的修改⽅法没有返回值,修改原字符串

NSArray和NSMutableArray的初级使⽤

OC数组

  • iOS中存放数据的容器类都称为集合(collection)。
  • 数组是有序集合,只能存放对象
  • 数组有下标(index)的概念,靠index来索引元素,下标从0开始
  • 数组分不可变数组(NSArray)和可变数组(NSMutableArray)

常见方法:

  • 创建数组对象,使⽤实例初始化或便利构造器
  • 获取元素个数
  • 根据index获取对象

NSMutableArray

  • 可变数组
  • NSArray的⼦类,继承NSArray的所有⽅法
  • 可以对数组进⾏增删改等操作

值对象

因为数组只能存储对象,所以想要存储float、NSRange等其他类型时,需要进行如下操作:
存储:把整型或者结构体转换为对象,将对象存⼊数组
读取:先取出对象,再将对象还原为整型或者结构体

NSNumber

  • 数值对象
  • 完成 数值标量 和 对象类型 的互转
  • 基本类型(int,float等)转换为NSNumber
  • NSNumber转换为基本类型(int,float等)
    常用方法:

    + numberWithInt: + numberWithDouble: - intValue- doubleValue

NSValue

  • 完成 标量 和 对象类型 的互转
  • 结构体(NSRange等)、指针等转换为NSValue
  • NSValue转换为结构体(NSRange等)、指针等
    常用方法:

    + valueWithRange: + valueWithPointer:- rangeValue- pointerValue
0 0
原创粉丝点击