NSArray, NSNumber, NSValue, NSSet, 数组排序
来源:互联网 发布:js中name选择器 编辑:程序博客网 时间:2024/05/21 09:35
数组分为:不可变数组(NSArray)和可变数组(NSMutableArray)
数组是存储在UI中可显示内容的集合, 数组必须先初始化才能使用
/*NSArray */
1.创建不可变数组
NSArray *arr = [NSArray array];
NSArray *arr1 =[NSArray arrayWithObjects:@"iphone",@"sanung",@"miui", nil];
2.获取元素的个数
NSLog(@"%ld", [arr1 count]);
3.根据下标获取对象, 根据对象获取下标
NSLog(@"%@", [arr1 objectAtIndex:2]); NSLog(@"%ld", [arr1 indexOfObject:@"iphone"]);
4.遍历数组
for (int i = 0; i < [arr1 count]; i++) { NSLog(@"%@",[arr1 objectAtIndex:i]); }
for (NSString *str in arr1) { NSLog(@"%@", str); }
/*NSMutableArray */
1.创建可变数组对象
NSMutableArray *marr1 = [NSMutableArray arrayWithObjects:@"windows",@"unix", nil];
2.添加元素
[marr1 addObject:@"linux"];
3.插入元素
[marr1 insertObject:@"Mac" atIndex:0]; //根据下标插入元素
4.删除元素
[marr1 removeLastObject]; [marr1 removeObject:@"Mac"]; [marr1 removeAllObjects];
5.替换
[marr1 replaceObjectAtIndex:0 withObject:@"ASD"];
6.交换两个指定的元素
[marr1 exchangeObjectAtIndex:0 withObjectAtIndex:1];
/* NSNumber */
所有的基础类型变量是不能当对象存储到容器中(数组,字典等)因此,基础类别的变量想要储存的话需要转换成别的对象才能存储.
(1)存储
int a = 10; NSNumber *num = [NSNumber numberWithInt:a]; [arr1 addObject:num];(2)取值
NSNumber *num2 = [arr1 lastObject]; int b = [num2 intValue];
/* NSValue */
和NSNumber的功能一样, 区别是将结构体转换成对象
NSRange range = NSMakeRange(0, 0); NSValue *value = [NSValue valueWithRange:range];
(2)取值
NSRange range1 = [value rangeValue];
集合分为: 不可变集合(NSSet)和可变集合(NSMutableSet)
/* NSSet */
1. 创建 (常见的初始化方法)
(1) NSSet *set = [NSSet setWithObjects:@"123",@"123",@"456", nil];
(2) NSArray *arr = [NSArray arrayWithObjects:@"1",@"3",@"3", nil]; NSSet *set1 = [NSSet setWithArray:arr];
(3) NSSet *set2 = [[NSSet alloc]initWithArray:@[@"1",@"1"]];
2.获取元素个数(集合中元素师唯一且不重复的)
NSLog(@"%ld", [set count]);
3.获取set中的某个元素
[set anyObject];
4.判断set中是否包含某一个对象
[set containsObject:@"123"];
5.添加元素
set = [set setByAddingObject:@"4"]; //添加对象 set = [set setByAddingObjectsFromSet:set1]; // 把其他set的元素添加集合里
/* NSMutableSet*/
1.创建
NSMutableSet *mSet = [NSMutableSet setWithObjects:@"123",@"456",@"789", nil];
2.添加元素, 移除元素
[mset addObject:@"000"]; [mset removeObject:@"123"];
3.遍历集合
NSMutableSet *mset1 = [[NSMutableSet alloc]initWithObjects:@"1",@"2",@"3", nil]; for (NSString *str in [mset1 allObjects]) { NSLog(@"%@", str); }
/* 数组排序 */
数组进行由小到大的排序
(1)不可变数组 NSArray *array1 = [NSArray arrayWithObjects:@"2", @"1", @"3", @"5", nil]; //将数组进行排序 NSArray *sortArray1 = [array1 sortedArrayUsingSelector:@selector(compare:)]; //输出数组 for (NSString *str in sortArray1) { NSLog(@"%@", str); } (2)可变数组 NSMutableArray *mArray = [NSMutableArray arrayWithArray:array1]; //将数组进行排序 [mArray sortUsingSelector:@selector(compare:)]; //输出数组 for (NSString *str in mArray) { NSLog(@"%@", str); }
0 0
- NSArray, NSNumber, NSValue, NSSet, 数组排序
- Foundation框架—NSArray、NSSet、NSDictionary、NSNumber、NSDate、NSValue
- [TwistedFate]NSArray NSNumber NSValue
- OC-7.NSSet NSValue NSNumber
- day4_2: 数组NSArray NSMutableArray、值对象NSNumber、NSValue
- 黑马程序员--NSArray,NSString,NSSet,NSDictionary,NSNumber,NSValue 及其可变(NSMutable..)
- 黑马程序员—— Foundation框架NSArray、NSSet、NSDictionary、NSNumber、NSDate、NSValue
- NSMutableString NSNumber NSValue NSDate NSArray
- NSNumber 和 NSDate 和NSValue 和 NSSet
- NSArray(不可变数组)、NSMutableArray(可变数组)、数组排序、NSNumber(多态:数值和对象互转)、NSValue(将结构体转换成对象)
- 用 ObjectiveSugar 扩展NSArray NSDictionary NSSet NSNumber
- 用 ObjectiveSugar 扩展NSArray NSDictionary NSSet NSNumber
- 黑马程序员_Foundation学习之NSSet、NSDictionary、NSNumber、NSValue、NSDate
- 黑马程序员--ios Foundation中几个类NSNumber,NSValue,NSSet
- 黑马程序员——Foundation---NSSet,NSDictionary,NSNumber,NSDate,NSValue
- OC类 之 NSData NSDate NSSet NSNumber NSValue
- OC--迭代器/NSNumber/NSValue/NSRange/NSSet/NSDate 及相互转化
- OC 学习笔记4 NSSet NSMutableSet NSDictionary NSMutableDictionary NSNumber NSValue
- RatingBar 在activity中代码控制监听
- UI基础(一)
- javascript基本概念
- 每天小练笔8-模拟进程调度
- jdbc链接sqlserver数据库的问题
- NSArray, NSNumber, NSValue, NSSet, 数组排序
- XML Schema <第三篇>
- JavaWeb开发中form、ajax提交数据Model转化
- UI_UItableView_AutoCell(自定义cell 高度)
- oc知识点整理
- 关于类的关键词
- Hyperion 的oce创建
- Mac系统中强制删除废纸篓文件
- 栈的应用