iOS开发(一)——Object-c语言基础(4、字符串,数组,字典)

4.Foundation框架

4.1 字符串类

4.1.1 不可变字符串NSString

   在Foundation框架中,提供了一个名为NSString的类,用于处理字符串对象。
1. 创建字符串
通常可以使用以下几种方式来创建一个字符串对象:

//创建字符串的简单方法,使用@"",把字符串放在引号内。
NSString *str = @"www.baidu.com";
//使用stringWithFormat方法
+(instancetype)stringWithFormat:(NSString *)format,...;
//示例
NSString *str = [NSString stringWithFormat:@"www.baidu.com"];
//使用stringWithUTF8String方法,注意传入的不是字符串对象,因此不需要@
//示例
NSString *str = [NSString stringWithUTF8String:"你好"];

//使用initWithFormat方法
//示例
NSString *str = [[NSString alloc] initWithFormat:@"www.baidu.com"];
//使用initWithUTF8String方法
NSString *str = [[NSString alloc] initWithUTF8String:"www.baidu.com"];

2.字符串比较

//判断字符串是否相同,使用isEqualToString方法,返回值是BOOL类型
[str1 isEqualToString:str2];
//判断字符串中是否包含某个字符串,使用containsString方法
[str1 containString:@""];
//使用hasPrefix与hasSuffix方法,判断字符串开头与结尾。
[str1 hasSuffix:@""];
[str2 hasPrefix:@""];

3.字符串的拼接与截取

//从第四位开始截取,返回值是不包含第四位
NSString *subString = [str substringFormIndex:4];
//截止到第三位,结果包含第三位
NSString *subString = [str substringTomIndex:3];
//截取某个范围内的,需要传入NSRange类型的参数,从第四位开始,截取五位
NSRang rang = NSMakeRange(4, 5);
NSString *subString = [str substringWithRange:range];

补充
获取字符串长度,采用length属性,即str.length即可。

4.1.2 可变字符串NSMutableString

   NSMutableString是继承自NSString类的,所以NSString中定义的所有方法,他都可以使用。与NSString相比,NSMutableString类的对象在内存中存储的空间是可以变化的,因此,存储的字符串长度和内容都可以改变。
1.NSMutableString的初始化

//stringWithCapacity:方法,需要指定初始化时预留的可供存储的字符串最大长度
NSMutableString *myStr = [NSMutableString stringWithCapacity:100];
//initWithCapacity:方法,需要指定初始化时预留的可供存储的字符串最大长度
NSMutableString *myStr = [[NSMutableString alloc] initWithCapacity:100];
//stringWithString:方法,传入一个初始化字符串
NSMutableString *myStr = [NSMutableString stringWithString:@"www.baidu.com"];

注意:可变字符串不能使用@" “进行赋值,因为使用@” "创建的字符串是一个常量字符串

2.NSMutableString字符串的修改

//赋值操作
[myStr setString:@"www.baidu.com"];
//拼接操作
[myStr appendString:@"拼接"];
//在指定位置插入字符串,在0处位置插入
[myStr insertString:@"插入" atIndex:0];

3.NSMutableString字符串的替换与删除

//从第四处替换5个字符
NSRange range = NSMakeRange(4, 5);
[myStr replaceCharactersInRange:range withString:@"avcsd"];
//删除
[myStr deleteCharactersInRange:range];

4. 连接两个字符串对象
使用stringByAppendingString方法,可以连接两个NSMutableString类型的字符串对象,返回一个NSString类型的字符串。

NSString *str = [str1 stringByAppendingString:str2];

4.2 数组类

4.2.1 不可变数组NSArray

Object-C的数组区别于C++、Java的数组在于,NSArray保存的对象可以使不同类型的对象
,但是缺点是只能保存对象,int、char、double等基本数据类型不能直接保存,需要转化成Object-C的对象以后才能加入数组。
1. 数组的创建

//1、使用@[]方式
NSArray *array1 = @[@123, @"123"];
//2、使用arrayWithObjects方法,这是类方法,在数组结尾需要用nil来表示数组的结束
NSArray *array2 = [NSArray arrayWithObject:@"123", @"456", nil];
//3、使用initWithObjects方法,这是一个实例方法
NSArray *array3 = [[NSArray alloc] initWithObjects:@"123", @"456", nil];

2. 数组的复制

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值