NSArray,NSMutableArray的一些常用方法

不可变数组 ——NSArray

常用的初始化一个数组:

      NSArray *array1 = [[NSArray alloc]
init];

      NSArray *array2 = [NSArray array];

  //对于上述两个方法,在NSArray中用的很少,因为这是一个空数组,它的值是不可改变的,意味着一旦创建,就永远为空

      NSArray *array3 = [NSArray
arrayWithObjects:[NSNumber numberWithInt:123],@"char",[NSNumber
numberWithFloat:1.0f],nil];

      NSArray *array4 = [NSArray
arrayWithArray:array3];

      NSArray *array5 = [NSArray
arrayWithObject:@123];//NSNumber新方法

      NSString *path = @"string8.text";
//@里出现的是想要访问的文件的路径

      NSArray *array6 = [NSArray
arrayWithContentsOfFile:path];

新方法:NSArray *array =
@[@123,@"123",@{@"key": @"value"}];

新方法的出现,减轻了不少代码的负担,对于新方法不用去刻意记,在xcode中输入@后,系统会自动出现一幅图,    选择想用的方法,去创建就好。

对于alloc 方法和不用alloc
创建的区别,在这里就不叙述了,xcode中使用ARC后,开发者可以不用手动管理内存,用alloc时也没有太多需要注意的问题了。

常用的方法:

获取数组长度:    
 

NSInteger count = [array count];

根据下标访问数组:

NSString * string = [array3 objectAtIndex:1];

在原来的数组上追加对象或数组,返回一个新的数组(原来的数组不变)

NSArray *addArray1 = [array1
arrayByAddingObject:@"char"];

NSArray *addArray2 = [array1
arrayByAddingObjectsFromArray:array4];

用指定的字符串将数组中的元素连接起来:

NSString *appstring = [array4
componentsJoinedByString:@","];

用指定的字符串将字符串中的元素分开并保存到数组中:

NSArray *appArray = [appstring
componentsSeparatedByString:@","]; 

数组中是否包含了某个对象:

BOOL isContain = [appArray
containsObject:@"abc"];

查找某对象在数组中的位置,若找不到,将返回NSNotFound:

NSInteger index = [appArray indexOfObject:@"char"];

返回数组中最后一个元素:

NSString *lastString = [appArray lastObject];

可变数组
——NSMutableArray
(继承自NSArray)

常用方法:

初始化,设置元素的个数为6,但是可以修改:

NSMutableArray *muArray1 =
[NSMutableArray arrayWithCapacity:6];

向数组中指定下标插入一个元素:

[muArray1 insertObject:@"abc"
atIndex:0];

向数组中加入一个元素:

[muArray1
addObject:@"123"];

移除数组中最后一个元素:

[muArray1
removeLastObject];

移除数组中指定元素:

[muArray1 removeObject:@"123"];

移除数组中指定下标元素:

[muArray1 removeObjectAtIndex:0];

加入数组作为其元素:

[muArray1
addObjectsFromArray:array];

遍历数组的两种方法:

常规方法:

        NSArray *array =
@[@"a",@"b",@"c",@"d",@"e"];

        NSInteger length = [array
count];

        for (int i = 0; i < length; i++)
{

            NSString * element = [array
objectAtIndex:i];

            NSLog(@"element =
%@\n",element);

        }

快速遍历:

        NSArray *array =
@[@"a",@"b",@"c",@"d",@"e"];

        NSInteger length = [array
count];

        for (NSString *element in array)
{

            NSLog(@"element =
%@",element);

        }

通过枚举类型遍历:

   NSEnumerator *enumerator = [dic keyEnumerator];

   id key = [enumerator nextObject];

   while (key) {

     id obj = [dic objectForKey:key];

     NSLog(@"%@", obj);

     key = [enumerator nextObject];

   }

NSArray,NSMutableArray的一些常用方法,布布扣,bubuko.com

时间: 2024-11-28 23:10:20

NSArray,NSMutableArray的一些常用方法的相关文章

NSArray NSMutableArray &nbsp; NSNumber 方法

@font-face {  font-family: "宋体";}@font-face {  font-family: "宋体";}@font-face {  font-family: "@宋体";}@font-face {  font-family: "Cambria";}@font-face {  font-family: "Heiti SC Light";}@font-face {  font-fam

OC -- NSArray NSMutableArray

NSArray  NSMutableArray的声明 注:NSArray与NSMutableArray中只能存放OC对象类型数据,不能存放int, float, double, struct, enum类型数据 NSArray *array1 = @[@"first", @"second", @"third"]; NSArray *array2 = [NSArray arrayWithObjects:@"one", @&quo

关于NSString,NSMutableString,NSArray,NSMutableArray,NSDictionary,NSMutableDictionary

NSString,NSMutableString,NSArray,NSMutableArray,NSDictionary,NSMutableDictionary 在 OC 中我们天天都要用,而我们要怎么学习它们呢? 我认为学习这些常用的类,使用类比的方法就行了,只要学会一个类,就能类比另外两个类了.. 比如,NSString和NSMutableString的可变与不可变,主要区分的标准是,它们本身是不是可以变,可变的一般都能增,删,改,而不可变的方法主要是创建,查看,得到元素个数或者长度等等;

NSString,NSMutableString, NSArray ,NSMutableArray,NSDictionary,NSMutableDictionary 深拷贝,浅拷贝分析

NSString,NSMutableString, NSArray ,NSMutableArray,NSDictionary,NSMutableDictionary 深拷贝,浅拷贝. 首先我们得知道什么是深拷贝,什么事浅拷贝. 简单点说深拷贝就是拷贝内容,浅拷贝就是拷贝指针. 上面那些类我们可以这样理解他们的深.浅拷贝.只要上面那些类中的NSString,NSArray,NSDictionary这三个类的实例化对象是调用copy方法进行拷贝那么他们拷贝的就是一个指针,就是说他们只是拷贝了一个指向

NSDictionary 或者NSArray(NSMutableArray) ==&gt;&gt; NSData ==&gt;&gt; NSString (Json):

以下代码都有详细的注释说明这些类型之间的转换(如有错误的地方还望批评指出,谢谢!) - (void)viewDidLoad { [super viewDidLoad]; /** * NSDictionary ||NSArray(NSMutableArray) ==>> NSData ==>> NSString (Json): */ // NSDictionary *params = [NSDictionary dictionaryWithObjectsAndKeys: // @&q

NSArray和NSMutableArray相互转换, 以及常用方法-备

有时候项目中NSArray和NSMutableArray需要相互转化,下面给出相关代码1.NSArray 1.1 转化:NSMutableArray 1 NSMutableArray *mutableArray = [NSMutableArray arrayWithArray:array]; // array为NSMutableArray类型 1.2 常用方法 不可变数组对象: [array count] : 得到这个对象数组的长度. [array objectAtIndex 0]: 传入数组脚

NSArray ----NSMutableArray

//NSArray •Foundation中数组(NSArray)是有序的对象集合 •NSArray只能存储Objective-C的对象,而不能存储像 int.float这些基本数据类型,但是Objective-C对C 兼容,所以在Objective-C程序中,仍然可以使用C的 数组来存储基本数据类型 •NSArray?一旦创建便不可以再对它就进行更改,如果 要进行对数组的增.删.改等操作的话,需要使用 NSArray的子类NSMutableArray来创建对象 //NSArray常用方法 •+

OC中的NSNumber、NSArray、NSString的常用方法

和C语言不同在Objective-C语言中有单独的字符串类NSString.C语言中string是由 charASCLL码字符组成 OC中字符串是由unicharUnicode字符组成 NSString不可变字符串即创建以后内容和长度不能更改 NSMutableString可变字符串即创建以后内容还可以修改 在使用哟个字符串对象之前首先创建一个新的字符串可以使用实例方法和便利构造器 NSString常用的方法 1.使用实例方法和便利构造器创建一个新的字符串 2.获取字符串长度 3.获取子字符串

Foundation框架—— 数组 (NSArray NSMutableArray )

基础知识回顾 1.在给可变数组添加元素时,要保证该数组已被初始化 2.在遍历可变数组时,不能对其进行增删改 3.NSMutableArray继承自NSArray,几乎拥有NSArray的一切方法. 4.OC数组只能存放OC对象,不能存放非OC对象,如int,结构体和枚举等. NSArray NSArray *arr=[NSArray array];//初始化一个空数组 NSArray *arr1=[NSArrayarrayWithObject:@"123"];//初始化一个元素的数组