【Foundation Frame】NSMutableArray

NSArray 代表集合元素不可变的集合,一旦NSArray被创建成功,程序不能向集合中添加新元素,删除旧元素,替换旧元素。

NSMultableArray 恰恰相反,为可变元素的集合,可以增加、删除、替换元素。

可进行的操作:

1、创建 arrayWithCapacity

2、增加元素,以add开头

3、删除元素,以remove开头

4、替换元素,以replace开头

5、对集合本身排序,以sort开头(与NSArray不同,NSMutable是对元素集合自身进行排序,NSArray则是返回一个新的排序完成的元素集合。

(注:以下程序仅供参考,还有很多方法没有列出来)

//

//  main.m

//  NSMultableArray

//

//  Created by mac on 14-12-3.

//  Copyright (c) 2014年
mac. All rights reserved.

//

#import
<Foundation/Foundation.h>

void
multableCreatAray()

{

//创建MultableArray

NSMutableArray * array1 =[NSMutableArray
arrayWithCapacity:10];

NSMutableArray * array2 =[NSMutableArray
arrayWithObjects:@"Hello1",@"Hello2",@"Hello3",@"Hello4",
nil];

NSMutableArray * array3 =[NSMutableArray
arrayWithObjects:@"Insert1",@"insert2",@"Insert3",
nil];

//在array1中增加元素

[array1
addObject:@"Hello1"];

[array1
addObject:@"Hello2"];

[array2
addObject:@"Hello5"];

NSLog(@"%@",array1);

NSLog(@"%@",array2);

[array1
addObjectsFromArray:array2];

NSLog(@"%@",array1);

[array1
insertObject:@"Insert1"
atIndex:2];

NSLog(@"%@",array1);

//删除元素

[array1
removeObject:@"Hello1"];

NSLog(@"%@",array1);

NSMutableArray *array = [NSMutableArray
arrayWithObjects:
@"one",
@"two",
@"three",
@"four",
nil];

NSArray *newAdditions = [NSArray
arrayWithObjects:
@"a",
@"b",
nil];

NSMutableIndexSet *indexes = [NSMutableIndexSet
indexSetWithIndex:1];

[indexes
addIndex:3];

[array
insertObjects:newAdditions
atIndexes:indexes];

NSLog(@"array: %@", array);

}

int
main(int
argc,
const
char * argv[]) {

@autoreleasepool {

// insert code here...

NSLog(@"Hello, World!");

multableCreatAray();

}

return
0;

}

====>>>>>

2014-12-03 17:32:27.148 NSMultableArray[2527:303] Hello, World!

2014-12-03 17:32:27.151 NSMultableArray[2527:303] (

Hello1,

Hello2

)

2014-12-03 17:32:27.152 NSMultableArray[2527:303] (

Hello1,

Hello2,

Hello3,

Hello4,

Hello5

)

2014-12-03 17:32:27.152 NSMultableArray[2527:303] (

Hello1,

Hello2,

Hello1,

Hello2,

Hello3,

Hello4,

Hello5

)

2014-12-03 17:32:27.153 NSMultableArray[2527:303] (

Hello1,

Hello2,

Insert1,

Hello1,

Hello2,

Hello3,

Hello4,

Hello5

)

2014-12-03 17:32:27.153 NSMultableArray[2527:303] (

Hello2,

Insert1,

Hello2,

Hello3,

Hello4,

Hello5

)

2014-12-03 17:32:27.154 NSMultableArray[2527:303] array: (

one,

a,

two,

b,

three,

four

)

Program ended with exit code: 0

时间: 2024-12-21 18:06:42

【Foundation Frame】NSMutableArray的相关文章

【Foundation Frame】NSString

NSString代表字符序列不可变的字符串,功能更强大,更方便简单. 下面代码列举了大部分常用的NSString方法. // //  main.m //  OcString // //  Created by mac on 14-12-2. //  Copyright (c) 2014年 mac. All rights reserved. // #import <Foundation/Foundation.h> void dynamicCreateString() { //1 NSString

【Foundation Frame】NSDictionary/NSMutableDictionary

NSDictionary 用于保存具有映射关系的数据,NSDictionary 包含两组数据,一组用来保存key值,一组用来保存valure值. 一个Key可以对应多个value,反过来则不可以. // //  main.m //  NSDictionary // //  Created by mac on 14-12-4. //  Copyright (c) 2014年 mac. All rights reserved. // #import<Foundation/Foundation.h>

【Foundation Frame】Struct

// //  main.m //  struct // //  Created by mac on 14-12-2. //  Copyright (c) 2014年 mac. All rights reserved. // #import <Foundation/Foundation.h> #pragma mark 基本数据类型---- void baseType() { //unsigned long  %lu NSUInteger i; //long NSInteger  j; //dou

【Foundation Frame】NSArray

NSArray 代表元素有序.可重复的一个集合,集合中每个元素都有对应的顺序索引. 创建NSArray的常见方法 1.array:创建一个不包含任何元素的空NSARRAY 2.arrayWithObject/initWithObject:创建只包含指定元素的NSArray 3.arrayWithObjects/initWithObjects:创建只包含一个或多个元素的NSArray 4.arrayWithContentsOfFile:读取文件内容来创建NSArray (以下程序列举了常用的NSA

黑马程序员---OC基础9【Foundation框架】【NSString介绍】【NSURL读写字符串】【NSString字符串比较】【NSString前后缀检查及搜索】【NSRange使用】

------- iOS培训.Android培训.Java培训.期待与您交流! ---------- [Foundation框架] 1.Foundation框架介绍 1)Foundation框架概念 框架是由许多类.方法.函数.文档按照一定的逻辑组织起来的集合 以便使研发程序变得 更容易在OS X下的Mac操作系统中大约有80个框架为所有程序开发奠定基础的框架称为Foundation 框架 2)Foundation框架的作用 Foundation框架是Mac\iOS中其他框架的基础 Foundat

Objective--C的Foundation frame之NSMutableArray代码

1 #import <Foundation/Foundation.h> 2 3 @interface Person : NSObject 4 5 @property (nonatomic, strong)NSString *personName; 6 - (id)initWithName:(NSString *)name; 7 8 @end 9 10 #import "Person.h" 11 12 @implementation Person 13 14 - (id)in

【翻译习作】 Windows Workflow Foundation程序开发-第一章01

第 1 章    欢迎来到工作流的世界 …思想如蝴蝶般飞到我身边 —— Gossard / Vedder (译注:Gossard与Vedder是来自Pearl Jam乐队的2名乐手,该句出自他们的歌曲<Even flow>) Windows Workflow可被看作是继COM+和分布式事务协调器(DTC)之后,Windows平台上最令人瞩目的一款中间件产品.它们之间的区别在于:不是每一个软件应用都需要进行分布式事务处理:但几乎每个软件都要在其内部实现工作流.为了能够领会微软设计Windows

【翻译习作】 Windows Workflow Foundation程序开发

近期整理硬盘,把09年的翻译习作<Windows Workflow Foundation程序开发>找出来了.现在又把译文过了一遍,做了些修改,贴出来献丑了.原书是<Programming Windows Workflow Foundation: Practical WF Techniques and Examples using XAML and C#>,作者K. Scott Allen,由Packt Publishing Ltd.出版. 当时我开始关注.NET 3.0,尤其对WF

【翻译习作】 Windows Workflow Foundation程序开发-前言

Windows Workflow Foundation程序开发-基于XAML和C#的WF实战技术与例程 ——C#程序员的WF功能与编程接口技术指导 前言 Windows Workflow Foundation(简称WF),是一项对工作流进行定义.执行和管理的技术.它是.NET框架3.0版的一部分,并且将来会被集成到Windows Vista操作系统中. 继COM+和分布式事务协调器之后,WF可被看作是Windows平台上最令人瞩目的一款中间件产品.WF与前两者的区别在于:不是每一个软件应用都需要