OC-NSArray
来源:互联网 发布:人文社会科学类软件 编辑:程序博客网 时间:2024/05/17 01:52
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">数组的初始化</span>
//一般初始化 NSArray *array = [[NSArray alloc]initWithObjects:@"1",@"2",@"3", nil]; NSLog(@"%@",array); //便利初始化 NSArray *array1 = [NSArray arrayWithObjects:@"3",@"4",@"5", nil]; NSLog(@"%@",array1);
数组的取值
NSArray *array = [NSArray arrayWithObjects:@"1",@"2",@"3",@"4", nil]; NSLog(@"%@",[array objectAtIndex:2]); // 3 //获取指定位置的元素 NSString *string =[array objectAtIndex:1]; NSLog(@"%@",string);//输出第二元素 2 // 获取数组中第一个索引未知的元素 id firstObjiect = [array firstObject]; NSLog(@"%@",firstObjiect); // 1 // 获取数组中最后索引位置的元素 id lastObject = [array lastObject]; //用id 和 NSString是一样的效果 NSString *last = [array lastObject]; NSLog(@"%@",lastObject); //4 NSLog(@"%@",last); // 4
数组元素的增加
NSArray *array = [NSArray arrayWithObjects:@"1",@"2",@"3",@"4", nil]; //存入一个对象 NSArray *anotherArray = [array arrayByAddingObject:@"6"]; NSLog(@"%@",array); //1,2,3,4, NSLog(@"%@",anotherArray); //1,2,3,4,6 //存入多个对象 NSArray *array1 = [NSArray arrayWithObjects:@"11",@"12",@"13", nil]; anotherArray = [array1 arrayByAddingObjectsFromArray:array];//前面的在前面后面的在后面,后面的接在前面的后面 NSLog(@"%@",anotherArray); //11,12,13
数组元素的查找
NSArray *array = [NSArray arrayWithObjects:@"1",@"2",@"3",@"4",@"5", nil]; //查询对象在数组中的位置 //NSUInteger(为啥用这个啊,我用NSInteher还是一样的啊) //通过返回结果可以拍判定元素是否存在,入股破不存在就返回NSNotFound NSUInteger index = [array indexOfObject:@"5"]; NSLog(@"%ld",NSNotFound); //没找到的话就会输出和这个一样的值 NSLog(@"%lu",index); //查询对象是否存在数组中 NSArray *array1 = [NSArray arrayWithObjects:@"1",@"2",@"3",@"4",@"5", nil]; BOOL isContain = [array1 containsObject:@"5"]; NSLog(@"contain 5 %@ ",isContain ? @"yes" : @"no");
数组的排序:(一般排序)
NSArray *array = [[NSArray alloc]initWithObjects:@"5",@"4",@"3",@"2",@"1", nil]; NSArray *sorteArray = [array sortedArrayUsingSelector:@selector(compare:)]; NSLog(@"%@",array); NSLog(@"%@",sorteArray);
数组的排序:(给类的变量排序)
//思考:数组中包含5个Person1,排序数组,按照Person1年龄从小到大排序 Person1 *person1 = [[Person1 alloc]initWithName:@"person1" age:19]; Person1 *person2 = [[Person1 alloc]initWithName:@"person2" age:18]; Person1 *person3 = [[Person1 alloc]initWithName:@"person3" age:17]; Person1 *person4 = [[Person1 alloc]initWithName:@"person4" age:16]; Person1 *person5 = [[Person1 alloc]initWithName:@"person5" age:15]; NSArray *array = [NSArray arrayWithObjects:person1,person2,person3,person4,person5, nil]; NSLog(@"%@",array); NSArray *sorteArray = [array sortedArrayUsingSelector:@selector(comparAge:)]; //其中 comparAge 是在Person1里面自定义的(升序方法) NSLog(@"%@",sorteArray);Person1.m
//// Person1.m// 12.18//// Created by lanqs on 14/12/19.// Copyright (c) 2014年 . All rights reserved.//#import "Person1.h"@implementation Person1- (id)initWithName:(NSString *)name age:(NSInteger)age{ self = [super init]; if (self) { _name = name; _age = age; } return self; }- (void)setAge:(NSInteger)age{ _age = age;}- (NSInteger)age{ return _age;}- (NSComparisonResult)comparAge:(Person1 *)person{ NSComparisonResult result; //相等 if (_age == [person age]) { result = NSOrderedSame; }else if (_age > [person age]){ result = NSOrderedDescending; }else{ result = NSOrderedAscending; } return result;}-(NSString *)description{ return [NSString stringWithFormat:@"<Person : %p>, name = %@ , age = %ld",self,_name,_age];}@endPerson.h
//// Person1.h// 12.18//// Created by lanqs on 14/12/19.// Copyright (c) 2014年 . All rights reserved.//#import <Foundation/Foundation.h>@interface Person1 : NSObject{ NSString *_name; NSInteger _age;}- (id)initWithName:(NSString *)name age:(NSInteger)age;- (NSComparisonResult)comparAge:(Person1 *)person;- (void)setAge:(NSInteger)age;- (NSInteger)age;@end
1 0
- OC-NSArray
- OC-NSarray
- OC-NSArray
- OC学习之NSArray
- OC之【NSArray使用】
- NSArray、NSMutableArray-OC+class
- OC中的数组:NSArray
- OC 基础学习NSArray
- OC--NSArray和NSMutableArray
- OC中的NSArray
- oc - 11 NSArray
- OC基本数据结构-NSArray
- Foundation -- OC集合 --NSArray
- OC之NSArray
- OC笔记,数组NSArray
- OC基础之---- NSArray
- IOS OC NSArray&NSMutableArray
- oc NSString/NSArray/NSNumber
- 深入探索3D拾取技术
- Linux socket编程(四) 简单聊天室之epoll版
- Linux socket编程(五) 文件传输
- leetcode - remove duplicates
- VmWare下安装CentOS6图文安装教程
- OC-NSArray
- 十进制转换二进制
- JVM 内部运行线程介绍
- memcpy的用法 总结
- Linux 编程 共享内存
- EXTJS中使用遮罩效果LoadMask
- memcmp与strcmp函数
- 12306新版抢票之逻辑分析
- 《大数据时代》第二章读后整理和感悟