Chinaunix首页 | 论坛 | 博客
  • 博客访问: 15159
  • 博文数量: 5
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 93
  • 用 户 组: 普通用户
  • 注册时间: 2013-06-30 02:42
个人简介

真正成功的人生,不在于成就的大小,而在于你是否努力地去实现自我,喊出自己的声音,走出属于自己的道路。

文章分类

全部博文(5)

文章存档

2013年(5)

我的朋友

分类: iOS平台

2013-06-30 17:53:47

/*********************************************************************************************************************** 

NSArray

************************************************************************************************************************/     

/*---------------------------创建数组------------------------------*/

NSArray *array = [[NSArray alloc] initWithObjects:

@"One",@"Two",@"Three",@"Four",nil];      

NSArray * array1 = [[NSArray alloc]initWithArray:array];

NSArray * array2 = [NSArray arrayWithArray:array];

NSArray *array3 = [[NSArray arrayWithObjects:

@"One",@"Two",@"Three",@"Four",nil];

[array release];     

[array1 release];

//- (NSUInteger) Count;数组所包含对象(元素)个数;     

NSLog(@"count:%d",[array count]);     

//- (id) objectAtIndex: (NSUInteger) index;获取指定索引处的对象(元素);     

NSLog(@"object %@",[array objectAtIndex:2]); 

  

/*查找:根据元素找到对应的索引*/

NSArray*array=[[NSArrayalloc]initWithObjects:@"one",@"two",@"three",@"one", nil];

//返回找到的第一个的索引一切操作不要越界 

NSUInteger index = [array indexOfObject:@"one"];

//在指定范围内查找

index = [array indexOfObject:@"one" inRange:NSMakeRange(1, 3)];

if (index != NSNotFound) {//找不到返回NSNotFound

NSLog(@"index = %ld",index);

}

/*数组的抽取*/

NSArray * array1 = [array objectsAtIndexes:[NSIndexSet indexSetWithIndexesInRange:NSMakeRange(1, 3)]];

//NSIndexSet数字集合类

//[NSIndexSet indexSetWithIndexesInRange:NSMakeRange(1, 3)];创建一个数字集合对象//该集合成员是数字123

/*枚举器*/

//创建一个正序枚举器

NSEnumerator * enume1 = [array objectEnumerator];

//枚举器是读数据的

while (obj = [enume1 nextObject]) {

NSLog(@"%@",obj);

}

//快速枚举(正序)

NSArray *array = [NSArray arrayWithObjects: @"a",@"b",@"c",@"d",nil];         

for(id obj in array)     

{     

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

}      

//创建一个逆序枚举器

NSEnumerator * enume2 = [array reverseObjectEnumerator];

while (obj = [enume2 nextObject]) {

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

}  

/*---------------------------字符串分割到数组------------------------------*/

 NSString * str = @" Yes,I am a good man ";

//以字符串整体作为分割条件

NSArray * array = [str componentsSeparatedByString:@" "];//@  作为分割条件

NSArray*array1 = [str componentsSeparatedByCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@" ,"]];//以字符作为分割条件

//NSCharacterSet  字符集合

//[NSCharacterSet characterSetWithCharactersInString:@" ,"];把字符串@" ,"转化为一个字符集合

//这个集合的成员就是字符' '和字符',';

//返回值 是NSArray  不要写成NSMuatbaleArray

/*---------------------------数组元素拼接成字符串------------------------------*/

NSString * ptr = [array componentsJoinedByString:@"###"];//把数组元素拼接成字符串

NSLog(@ptr = %@,ptr);

/******************************************************************************   

NSMutableArray

*******************************************************************************/     

/*创建一个可变数组(继承于NSArray*/

NSMutableArray *array = [[NSMutableArray alloc] initWithObjects:

@"One",@"Two",@"Three",@"Four",nil];      

NSMutableArray * array1 = [[NSMutableArray alloc]initWithArray:array];

NSMutableArray * array2 = [NSMutableArray arrayWithArray:array];

NSMutableArray *array3 = [[NSMutableArray arrayWithObjects:

@"One",@"Two",@"Three",@"Four",nil];

[array release];     

[array1 release];

//把不可变转化为一个新的可变数组

NSArray *array = [NSArray arrayWithObjects: @"a",@"b",@"c",@"d",nil];

NSMutableArray * array1 = [NSMutableArray arrayWithArray:array];

 

//add (insert) 

[array addObject:@"four"];//在最后增加

[array insertObject:@"iOS" atIndex:1];//在指定索引插入一个元素

//删除(remove

[array removeObjectAtIndex:1];//根据索引删除元素

[array removeObject:@"one"];//删除数组元素:有几个删几个

[array removeObject:@"one" inRange:NSMakeRange(0, 2)]; //在指定范围内删除

//替换(replace):修改

[array replaceObjectAtIndex:0 withObject:@"qianfeng"];

//交换(exchange

[array exchangeObjectAtIndex:1 withObjectAtIndex:2];

/*可变数组排序*/

//创建一个空的可变数组

//(首先设计一个Dog类)

NSMutableArray * array = [[NSMutableArray alloc]init];

while (i++ < 5) {

Dog * dog = [[Dog alloc]initWithAge:arc4random()%10];

[array addObject:dog];

}

[array sortUsingSelector:@selector(youngThanAge:)];

//sortUsingSelector这是一个排序方法;已经实现了,

//但是需要我们提供一个准则(就是一个函数)这个准则是(升序)左边 大于右边 进行交换  或者是(降序)左边小于右边进行交换

//数组的元素是哪个类?那么这个准则就写在哪个类中

//这就是一个准则  左边  大于  右边  进行交换

//升序

-(BOOL)olderThanAge:(Dog *)_dog

{

    return [self age] > [_dog age];

}

阅读(1071) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~