OC语言----foundation其他常用的类型
来源:互联网 发布:python 按.拆分字符串 编辑:程序博客网 时间:2024/06/06 07:04
foundation其他常用的类型
首先:
NSArray 不可变数组
array数组的创建:
NSArray *array1 = [NSArray arrayWithObject:@"jack"];
nil是数组元素结束的标志
NSArray *array2 = [NSArray arrayWithObjects:@"jack",@"rose",nil];
快速创建一个array数组
NSArray *array3 =@[@"jack",@"rose",@"4324324"];
NSMutableArray 可变数组
NSMutableArray *array = [NSMutableArray arrayWithObjects:@"rose", @"jim", nil]; // 添加元素 [array addObject:[[Person alloc] init]]; [array addObject:@"jack"]; // 删除元素 //[array removeAllObjects]; // 删除指定的对象 // [array removeObject:@"jack"]; [array removeObjectAtIndex:0]; // 错误写法 // [array addObject:nil]; //输出数组 NSLog(@"%@", array); //输出数组个数 NSLog(@"%ld", array.count);
遍历数组:
Person *p = [[Person alloc] init]; // 常用的方法 NSArray *array = @[p, @"rose", @"jack"]; // for (int i = 0; i<array.count; i++) // { // NSLog(@"%@", array[i]); // }
遍历数组另一种方式:
int i = 0; // for (id obj in array) // { // // 找出obj元素在数组中的位置 // NSUInteger i = [array indexOfObject:obj]; // // NSLog(@"%ld - %@", i, obj); // //i++; // // if (i==1)// 判断i==1,就结束遍历,退出 // { // break; // } // }
使用block方法来实现遍历
[array enumerateObjectsUsingBlock: // 每遍历到一个元素,就会调用一次block // 并且当前元素和索引位置当做参数传给block ^(id obj, NSUInteger idx, BOOL *stop) { NSLog(@"%ld - %@", idx, obj); if (idx == 0) { // 停止遍历 *stop = YES; } }];
OC数组不能存放nil值
OC数组只能存放OC对象、不能存放非OC对象类型,比如int、struct、enum等
这个array永远是空数组
NSArray *array = [NSArray array];
foundation字典
// 字典存放的都是键值对,key --value 索引--文字内容
NSDictionary *dict = [NSDictionary dictionaryWithObject:@"sun" forKey:@"name"];<span style="font-family: Arial, Helvetica, sans-serif;">id obj = [d ict objectForKey:@"name"];</span><pre name="code" class="objc" style="font-size: 18px;"> NSLog(@"%@",obj)
//返回的是:键值对的个数 NSLog(@"%ld", dict.count); NSDictionary *dict = [NSDictionary dictionaryWithObjects:objects forKeys:keys];
// 字典不允许有相同的key,但允许有相同的value(Object) // 字典的无序的 NSDictionary *dict = @{ @"name" : @"jack", @"name2" : @"jack", @"name3" : @"孙寅", @"qq" : @"309394652"};另一种字典方式:先定义一个字典对象,在通过字典方法往里面输入键值对
NSMutableDictionary *dict = [NSMutableDictionary dictionary]; // 添加键值对[dict setObject:@"jack" forKey:@"name"];[dict setObject:@"山西" forKey:@"address"];[dict setObject:@"rose" forKey:@"name"];
// 移除键值对// [dict removeObjectForKey:<#(id)#>]; NSString *str = dict[@"name"]; //NSLog(@"%@", str); NSLog(@"%@", dict);
上面的方法比较繁琐,oc中也有快速创建词典的方法:
NSMutableDictionary *dict = @{@"name" : @"sun",@“address” : @“山西”};id obj = dict[@"name"];NSLog(@"%@", obj); //输出结果为sun
0 0
- OC语言----foundation其他常用的类型
- OC-常用的Foundation类
- OC语言--Foundation框架
- 黑马程序员-OC语言-Foundation框架中的常用结构体
- 黑马程序员 -- OC语言 Foundation
- OC语言学习-其他
- iOS开发—OC语言Foundation框架(一)—NSObject常用方法
- Foundation中常用的几种数据类型
- OC学习:Foundation框架中的常用类
- iOS--Foundation框架-OC常用结构体
- 黑马-OC语法-Foundation-常用结构体
- 黑马-OC-Foundation-NSString常用对象类
- 黑马-OC-Foundation-NSArray常用对象类
- 黑马-OC-Foundation-NSDictionary常用对象类
- 黑马-OC-Foundation-NSSet常用对象类
- OC的Foundation框架2
- OC的Foundation框架1
- 黑马程序员——OC语言------Foundation
- double与string的相互转化(C++)
- Python3.1-Numpy模块之入门教程
- [省选前衡八题目整理][BZOJ 1503]郁闷的出纳员(Splay)
- Java排序算法(七):希尔排序(Shell排序)
- JavaScript Window Navigator
- OC语言----foundation其他常用的类型
- Evaluate用法
- Java运算结构与变量值
- InnoDB Purge 过程
- 【ACM】从零做起——poj1002
- Java排序算法(八):归并排序
- Kafka监控工具KafkaOffsetMonitor
- JVM中的Hello World是如何运行的?
- 黑马程序员——Java基础知识——关键字、标识符、常量、变量、运算符、转义字符