OC中数组的用法

#import <Foundation/Foundation.h>

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

{

// 创建数组

NSArray *arr1 = nil;

//    NSLog(@"%p", arr1);

NSObject *obj = [NSObject new];

arr1 = [NSArray arrayWithObjects:@"One", @"Two", @"Three",
obj, nil];//结束标识,相当于C语言的“\0”

//    NSLog(@"%p", arr1);

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

// 推荐下面的新语法

NSString *str = @"Hello";

NSArray *arr2 = @[@"zhangsan", @"lisi", @"wangwu", @"zhaoliu" ,@"tianqi",
str];//这种方法自动在后面添加了nil

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

// 访问数组成员 objectAtIndex

//    NSObject *tmpObj = [arr1 objectAtIndex:3];

id tmpObj = [arr1 objectAtIndex:3];

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

// 推荐使用下面的新语法

tmpObj = arr2[2];

NSLog(@"arr2[2]: %@",
tmpObj);

// 可变数组

NSMutableArray *firstArr = [NSMutableArray arrayWithCapacity:30];

// 添加

[firstArr addObject:@"One"];

[firstArr addObject:@"Two"];

[firstArr addObject:@"Three"];

[firstArr addObject:@"Four"];

[firstArr addObject:@"Five"];

NSLog(@"The Mutable Array: %@",
firstArr);

NSMutableArray *secArr = [NSMutableArray arrayWithArray:arr2];

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

// 删除

[secArr removeObject:@"tianqi"];

NSLog(@"==secArr: %@",
secArr);

[secArr removeObjectAtIndex:2];

NSLog(@"===secArr: %@",
secArr);

// 插入

[secArr insertObject:@"wangwu" atIndex:2];//id 是对象 
index 是位置

NSLog(@"after insert: %@",
secArr);

// 替换

NSObject *someObj = [NSObject new];

[secArr replaceObjectAtIndex:4 withObject:someObj];

NSLog(@"after replace: %@",
secArr);

// C语言遍历数组

NSUInteger number = [secArr count];

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

id obj = secArr[i];

NSLog(@"%@",
obj);

}

// 通过枚举器来遍历数组(正着遍历)

NSEnumerator *enum1 = [secArr objectEnumerator];

id obj1;

NSLog(@"*************************");

while (obj1 = [enum1 nextObject])
{

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

}

// 通过枚举器来遍历数组(倒着遍历)

NSEnumerator *enum2 = [secArr reverseObjectEnumerator];

while (obj1 = [enum2 nextObject])
{

NSLog(@"reverse: %@",
obj1);

}

NSLog(@"============================");

// 快速枚举

for (id obj in secArr)
{

NSLog(@"Fast Enumeration: %@",
obj);

}

return 0;

}

时间: 2024-10-10 02:45:18

OC中数组的用法的相关文章

Swift的数组与OC中数组的区别

相同的值可以多次出现在一个数组的不同位置: Swift中的数组,数据值在被存储进入到某个数组之前类型必须明确,可以显示的类型标注或者类型推断.而且,Swift中的数组不必是对象类型. OC中的NSArray和NSMutableArray,他们可以存储任何类型的实例,而且不提供他们返回对象的任何本质信息. Swift的数组与OC中数组的区别,布布扣,bubuko.com

OC中self的用法

self :用法 OC中self可代表类和对象 Self是一个指针,谁调用了当前方法,self就指向谁 [出现在对象方法中,就代表着当前对象,出现在类方法中,就代表着当前类] Self的用途: (1)可以利用self->成员变量名访问当前对象内部的成员变量(仅在对象方法中) (2)[self 方法名]:可以调用其他的对象方法或者是类方法

oc中数组的学习过程

NSArray *aa = [[NSArray alloc]init]; NSArray *aaa = [NSArray array]; //声明单个内容数组 NSArray *aaaa = [NSArray arrayWithObject:@"sd"]; //声明多个内容数组 NSArray *arr = [NSArray arrayWithObjects:@"SDS",@"Dsad", nil]; //数组的长度 NSLog(@"%

OC中数组类NSArray的详解(二)

数组类的便利 1.for循环(大家都会的...) 2.NSEmunerator 3.for in 首先重点说下 第二种NSEmunerator枚举器,系统声明是 1 @interface NSEnumerator : NSObject <NSFastEnumeration> 2 3 - (id)nextObject; 4 5 @end 6 7 @interface NSEnumerator (NSExtendedEnumerator) 8 9 @property (readonly, copy

Swif中数组相比OC中数组的新增方法

1) Swfit 中的数组 只能保存相同类型的值,不同于OC 与 Java 相同 2)      Swift初始化方法 var s0 = [1,2,3,4,5] var s1 :[Int] = [1 ,2 ,3 ,4 ,5] var s2: [String] var s3 = [Int]() 在swift 中  如果真行复制操作     s3 = s1   ,  s3 会复制一份s1 的值,是一次深copy.两份值互不影响. s3[0]的值发生了改变,但s1的值没有改变.输出 是1 , 2 ,3

OC中-数组是如何遍历的?

#import <Foundation/Foundation.h> int main (int argc, const char * argv[]) { NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; //也可以用:NSArray *array = [NSArray arrayWithObjects:@"One",@"Two",@"Three",nil]; NS

OC中数组的使用方法

#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { // 创建数组 NSArray *arr1 = nil; //    NSLog(@"%p", arr1); NSObject *obj = [NSObject new]; arr1 = [NSArray arrayWithObjects:@"One", @"Two", @"

OC中 block 的用法

block 常用于反向传值 声明 返回值类型 (^block)(参数列表) 调用 闭包的名字=^(参数列表){}: 闭包的名字(): 如: void(^aaaaa)(int num,NSString *Sring); aaaaa=^(int num,NSString *string){ NSLog(@"%d,%@",num,string); }; aaaaa(120,@“www"); block实现反向传值 (1)用属性实现: 1.在.h文件声明:@property(nona

oc 中随机数的用法(arc4random() 、random()、CCRANDOM_0_1()

1).arc4random() 比较精确不需要生成随即种子 使用方法 : 通过arc4random() 获取0到x-1之间的整数的代码如下: int value = arc4random() % x; 获取1到x之间的整数的代码如下: int value = (arc4random() % x) + 1; 2).CCRANDOM_0_1() cocos2d中使用 ,范围是[0,1] 使用方法: float random = CCRANDOM_0_1() * 5; //[0,5]   CCRAND