iOS 工作之余小总结(四)--(2)可变与不可变数组
来源:互联网 发布:软件编写入门 编辑:程序博客网 时间:2024/06/05 14:09
继续上一篇,这篇总结可变与不可变数组。
1.不可变数组NSArray
不可变数组和不可变字符串一样,创建的对象都放在代码区。继续上代码:
//1.创建
NSArray *fyArray = [NSArray array];
NSArray *fyArray1 = [NSArray arrayWithObject:@”one”]; //初始化一个数组
NSArray *fyArray2 = [NSArray arrayWithObjects:@”one”,@”two”,@”three”, nil];
NSArray *fyArray3 = [NSArray arrayWithArray:fyArray1];
NSArray *fyArray4 = @[@”one”,@”two”,@”three”];
//2.求长度
[fyArray4 count];
//3.根据下标求元素值
[fyArray4 objectAtIndex:1];
//4.根据元素值求下标
[fyArray4 indexOfObject:@”one”];
//5.遍历
NSMutableString *fyStr = [[NSMutableString alloc] init];
for (NSString *fyStr1 in fyArray4)
{
//TODO
}
//6.是否包含某个元素
[fyArray4 containsObject:@”two”];
//7.数组副本元素的深拷贝 当自定义类的对象为数组元素的时候,如果想拷贝元素的时候 要用copyItems 返回YES是深拷贝
NSArray *fyDeeplyArray = [[NSArray alloc] initWithArray:fyArray4 copyItems:YES];
注:如果返回值为NO,则为引用拷贝,即改变拷贝的对象值,原数组中的值也会被改变。
2.可变数组NSMutableArray
可变数组和可变字符串是一样的,对象开辟的空间都在堆区。
//1.创建
NSMutableArray *fyArray = [NSMutableArray array];
NSMutableArray *fyArray1 = [NSMutableArray arrayWithCapacity:100];//预估值
NSMutableArray *fyArray2 = [NSMutableArray arrayWithObject:@”one”];
NSMutableArray *fyArray3 = [NSMutableArray arrayWithObjects:@”one”,@”two”,@”three”,nil];
NSMutableArray *fyArray4 = [NSMutableArray arrayWithArray:fyArray3];
//2.添加
[fyArray4 addObject:@”five”]; // 追加对象
[fyArray4 insertObject:@”six” atIndex:1]; //向指定的位置追加指定的对象
//3.删除
[fyArray4 removeObject:@”six”];
[fyArray4 removeAllObjects];//删除数组中所有的元素
//4.替换
[fyArray4 replaceObjectAtIndex:1 withObject:@”seven”]; //替换单个的
NSArray *fyArray5 = @[@”one”,@”two”,@”three”];
[fyArray4 replaceObjectsInRange:NSMakeRange(1, 1) withObjectsFromArray:fyArray5];//替换一个范围
- iOS 工作之余小总结(四)--(2)可变与不可变数组
- iOS 工作之余小总结---(四)-(4)可变与不可变字典
- iOS 工作之余小总结(四)--(1)可变与不可变字符串方法大全
- iOS 工作之余小总结(四)--(3) NSDate 时间类
- OC_数组(可变、不可变)
- iOS 工作之余小总结之(六)(2) --四种界面反向传值的方式:回调方法传值
- iOS --工作之余小总结之聊天推送(APNS)原理
- iOS 工作之余小总结之(六)(3) --四种界面反向传值的方式:委托代理传值
- iOS 工作之余小总结之(六)(4) --四种界面反向传值的方式:block反向传值
- python(四)字典,集合,可变与不可变对象(下)
- iOS 工作之余小总结(五)--(1) Block在程序中的三个用法
- 可变与不可变
- IOS吐槽狂人:可变数组与不可变数组的排序方法调用
- 可变类与不可变类(1)
- python变量赋值(可变与不可变)
- 【转载】python变量赋值(可变与不可变)
- python变量赋值(可变与不可变)
- python变量赋值(可变与不可变)
- SQL语句(实用篇)
- WebDriverException: Message: 'IEDriverServer.exe' executable needs to be in PATH. Please download fr
- Discuz插件开发中的困惑
- Web服务器
- 算法与设计分析作业2(动态规划)
- iOS 工作之余小总结(四)--(2)可变与不可变数组
- echarts 柱状图 固定柱宽 最大宽度
- shell 脚本之文本处理
- Javamail发送邮件
- DB2数据库创建用户及授权(解决C#程序进行select、insert等操作无权限问题)
- 解释为什么Spring 默认会加载/WEB-INF/applicationContext.xml
- 多字节字符串转宽字节字符串(windows)
- onInterceptTouchEvent和onTouchEvent调用时序
- 投资人身份不严谨的投融资服务平台