您的位置:首页 > 其它

NSArray , NSDictionary 的用法...

2015-12-08 16:35 288 查看
重点:数组中是否包含某个元素.快速创建.简化访问.
NSArray数组遍历方法:

int main(int argc, const char * argv[]) {
@autoreleasepool {
//定义一个数组
NSArray *arr = @[@"one",@"two",@"three",@"four"];

//对数组进行遍历

//1) 普通的方式,通过下标访问
for (int i=0; i<arr.count; i++) {
NSLog(@"-> %@",arr[i]);
}

//2) 快速枚举法 for循环的增强形式
for (NSString * str in arr) {
NSLog(@"---> %@",str);
}

//3) 使用block的方式,进行访问

//i. 空数组
NSMutableArray *arr1 = [NSMutableArray array];
NSLog(@"%p",arr1);

//ii.创建的时候初始化一个元素
NSMutableArray *arr2 = [NSMutableArray arrayWithObject:@"one"];

//iii.创建数组的时候,初始化多个元素
NSMutableArray *arr3 = [NSMutableArray arrayWithObjects:@"one",@"two",@3,nil];

//IV. 创建一个数组,并且指定长度,
NSMutableArray *arr4 = [NSMutableArray arrayWithCapacity:5];

//2) 添加元素
[arr1 addObject:@"fengjie"];

NSLog(@"%p",arr1);
//插入元素到指定的位置
[arr1 insertObject:@"zbz" atIndex:0];

//3) 删除元素
//根据对象内容删除
// [arr1 removeObject:@"zbz"];
//根据位置删除
// [arr1 removeObjectAtIndex:1];
//全部删除
[arr1 removeAllObjects];

//4) 修改元素
//two--> four
[arr3 replaceObjectAtIndex:1 withObject:@"four"];
//four--> five
//更加简单地方法
arr3[1] = @"five";
NSLog(@"%@",arr3);

//5) 查找元素
BOOL isSearch =[arr3 containsObject:@"four"];
NSLog(@"%d",isSearch);

//6) 交换元素
// 1 2 3 4 5
// 5 2 3 4 1
//temp= a[0];
//a[0]= a[len-1];
//a[len-1]= temp;
NSMutableArray *arr5 =[NSMutableArray arrayWithObjects:@1,@2,@3,@4,@5, nil];
// 可以交换数组元素
[arr5 exchangeObjectAtIndex:0 withObjectAtIndex:4];
NSLog(@"%@",arr5);

}

//NSDictionary 不可变的,一旦创建,内容就不能添加\删除(不能改动)

//1)创建空字典
NSDictionary *dict1 = [NSDictionary dictionary];
//key value
//zs ---> 张三

//ls ---> 李四
//mz ---> 码子
//2)创建只有一组键值对的字典
NSDictionary *dict2 = [NSDictionary dictionaryWithObject:@"zhangsan" forKey:@"zs"];

//3)创建多组键值对的字典
//value值,key值
NSDictionary *dict3 = [NSDictionary dictionaryWithObjectsAndKeys:@"value1",@"k1",@"value2",@"k2", nil];

//注意;
// 字典的key值和value值,都必须是对象
//4)快速创建一个字典
//@{,,key值:value值,,,};
//key值不能重复:
//如果重复了,也不会报错
//如果重复了,最后添加的将不能够保存到字典中

NSDictionary *dict4 = @{@"zs":@"zhaosi",@"zs":@"zhangsan",@"ls":@"lisi",@"bz":@"banzhang"};

NSLog(@"%@",dict4); //以%@格式打印字典,控制台输出一个{
}
//5)获取字典的长度
NSLog(@"%lu",dict4.count);
//6)根据key值取出value值
// zs zhaosi
// key
NSString *str = [dict4 objectForKey:@"zs"];
NSLog(@"str = %@",str);

//7)字典的遍历问题
//第一步:获取所有的key
//第二步:根据key获取value
// for(NSString *key in dict4){
// NSLog(@"key = %@,value =%@",key,[dict4 objectForKey:key]);
// }
// key value stop
[dict4 enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop)
{

NSLog(@"%@ --> %@",key,obj);

}];
NSDictionary的简写形式及文件操作
//1)用简写形式定义一个字典
NSDictionary *dict = @{@"zbz":@"zhangbozhi",@"cgx":@"chenguanxi",@"xzmly":@"hello"};

//2)用简写形式,获取key对应的value
NSLog(@"%@",dict[@"zbz"]);

//3)把字典保存到文件中
// BOOL isWrite = [dict writeToFile:@"/Users/zhaoxiaohu/Desktop/dict.plist"atomically:YES];
// if (isWrite) {
// NSLog(@"写入成功");
// }

//4)从文件中读取字典
NSDictionary *readDict = [NSDictionary dictionaryWithContentsOfFile:@"/Users/zhaoxiaohu/Desktop/dict.plist"];
NSLog(@"readDict = %@",readDict);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: