NSArray和NSDictionary
----->NSArray
1.创建数组
NSArray *array1 = [[NSArray alloc] initWithObjects:@"One",@"Two",@"Three",@"Four",nil];
NSArray*array2 = [[NSArray alloc] arrayWithArray:array1];
2.常用方法
--获取数组长度
NSInteger count = [array1 count];
--根据下标进行访问
NSString * string = [array1 objectAtIndex: 2];
--在原来的数组追加对象到一个新的数组
NSArray * addArr = [array1arrayByAddingObject:@"Five"];
--用指定的字符串将数组元素串接起来
NSString * string = [array1 componentsJoinedByString:@","];
-- 数组中是否包含某对象
BOOL isHas = [array1 containsObjet:@"sss"];
--查询指定对象在数组中的位置,没有返回NSNotFound
NSInteger index = [array1indexOfObject:@"One"];
--获取数组中的最后一个元素
NSString * lastString = [array1 lastObject];
----->NSMutableArray
可变数组继承自NSArray
1.创建数组
NSMutableArray *array = [ NSMutableArray arrayWithCopacity:4];
2.常用方法
--向数组中添加元素
[array addObject:@"Five"];
--向数组指定下标插入元素
[array insertObject:@"Six",atIndex:0];
--移除最后一个元素
[array removeLastObject];
--移除指定元素
[array removeObject:@"One"];
--移除指定下标元素
[array removeObjectAtIndex:1];
--向数组中添加数组
[array addObjectsFromArray:array1];
--替换指定下标元素
[array replaceObjectAtIndex:0 withObject:@"lala"];
--移除所有对象
[array reomoveAllObjects];
3.遍历数组
常规
NSArray *array = [NSArray arrayWithObjects:@"a",@"b",@"c",nil];
int len = [ array count];
for(int i = 0 ;i < len i++)
{
NSLog(@"%@",[array objectAtIndex:i]);
}
快速枚举
NSMutableArray *newArray =[[NSMutableArray alloc] init];
NSArray *oldArray = [NSArray arrayWithObjects:
@"a",@"b",@"c",@"d",@"e",@"f",@"g",@"h",nil];
NSLog(@"oldArray:%@",oldArray);
for(id obj in oldArray)
{
[newArray addObject: obj];
}
NSLog(@"newArray:%@", newArray);
[newArray release];
----->NSDictionary
1.创建字典
NSDictionary *dictionary = [[NSDictionary alloc] initWithObjectsAndKeys:@"One",@"1",@"Two",@"2",@"Three",@"3",nil];
--初始化字典,包含其它字典
NSDictionary *dic = [NSDictionary dictionaryWithDictionary:otherdic];
--已文件内容初始化字典
NSDictionary *dic = [NSDictionary dictionaryWithContentsOfFile:path];
--获取字典数量
NSInteger count = [dic count];
--通过key获取对应的vaule对象
NSObject * obj = [dic objectForKey:@"key"];
--将字典的key转换成枚举对象,用于遍历
NSEnumerator* enumerator = [dic KeyEnumerator];
--获取所有键的合集
NSArray * keys = [dic allKeys];
--所有值的集合
NSArray * values = [dic allValues];
----->NSMutableDictionary
--创建可变字典
NSMutableDictionary *dictionary = [NSMutableDictionary dictionary];
添加字段
[dictionary setObject:@"One" forKey:@"1"];
--删除指定字典
[dictionary removeObjectForKey:@"1"];
根据key数组删除
[dictionary removeObjectsForKeys:array];
--遍历字典
for( id key in dic)
{
id obj = [dic objectForKey:key];
}
通过枚举来枚举
NSEnumerator *enum = [dic KeyEnumerator];
id key = [enum nextObject];
while(key)
{
id obj = [dic objectForKey:key];
key = [enum nextObject];
}
----->NSValue
NSValue可包装任意值
+(NSValue *) valueWithBytes:(const void*) value objCtype:(const char*)type
NSRect rect = NSMakeRect(1,2,30,40);
NSValue *value;
value = [NSValue valueWithBytes:&rect objCType:@encode(NSRect)];
[vaule getValue:&rect];
一些结构体包装
+(NSValue *) valueWithPoint:(NSPoint) point;
+(NSValue *) valueWithSize:(NSSize) size;
+(NSValue *) valueWithRect:(NSRect) rect;
-(NSPoint) pointValue;
-(NSSize) sizeValue;
-(NSRect) rectValue;
NSArray和NSDictionary相关推荐
- NSArray,NSSet,NSDictionary总结 (转)
NSArray,NSSet,NSDictionary总结 博客分类: iphone 三种集合类来收集cocoa对象(NSObject对象): NSArray 用于对象有序集合(相当于是数组) NSSe ...
- IOS 总结:NSArray,NSSet,NSDictionary
用法总结:NSArray,NSSet,NSDictionary Foundation framework中用于收集cocoa对象(NSObject对象)的三种集合分别是: NSArray 用于对象有序 ...
- 【IOS 开发】Objective-C Foundation 框架 -- 字符串 | 日期 | 对象复制 | NSArray | NSSet | NSDictionary | 谓词
一. 字符串 API 1. NSString 用法简介 (1) NSString API 介绍 NSString 功能 : -- 创建字符串 : 使用 init 开头的实例方法, 也可以使用 Stri ...
- 关于NSString,NSMutableString,NSArray,NSMutableArray,NSDictionary,NSMutableDictionary
NSString,NSMutableString,NSArray,NSMutableArray,NSDictionary,NSMutableDictionary 在 OC 中我们天天都要用,而我们要怎 ...
- NSArray、NSDictionary、NSString存储、删改、遍历
NSString 创建一个NSString实例:NSString *str = @"this is string";//字面量语法 常用API: +stringWithFormat ...
- 容器类的常用操作(NSArray,NSNumber,NSDictionary,NSSet)
1.数组 : 对象,可为任意类型 //(*1.)NSArray的常用方法NSString *str1 = [[NSString alloc]initWithFormat:@"%d杨毅&quo ...
- 放在NSArray、NSDictionary等容器内的对象Item,Item中的property在程序运行过程中被无故释放...
可能是被释放的property本身是OC对象而它的属性被误写成assign,例如: @interface MyItem : Object @property (nonatomic, assign) N ...
- NSArray和NSDictionary的混合
转载于:https://www.cnblogs.com/xzz5211314/p/5120858.html
- NSDictionary和NSMutableDictionary good
NSDictionary和NSMutableDictionary 2010-12-20 09:14 914人阅读 评论(0) 收藏 举报 2)NSNull NSNull大概是Cocoa里最简单的类了, ...
最新文章
- [IOI2014]Wall
- android自定义view圆,Android自定义View圆形百分比控件(一)
- html5求6的阶乘,.net 求数的阶乘
- 记录cu上shell比赛的第6题:输入日期,打印天数
- Leetcode: Palindrome Partition I II
- mysql修改校对集_MySQL 图文详细教程之校对集问题
- 图像 pipeline_ARADEEPOPSIS:一个基于叶状态语义分割的自动植物表型Pipeline
- Centos7中安装zookeeper3.7.0_找不到或无法加载主类 org.apache.zookeeper.server.quorum.QuorumPeer---zookeeper工作笔记003
- js计算两个整数之间的百分比
- 朋友,你A9了吗?(重新定义A8、A9)
- C语言实现链栈的创建、入栈、出栈、取栈顶、遍历......等基本操作(小白版详解)
- Mac Photoshop CS6 安装教程
- C++中的小数位数控制和有效数字控制
- LeetCode刷题日记:LCP 03.机器人大冒险
- civil 3d 计算机配置,Civil 3D技巧:如果做到设计文件的高效出图?
- switch新机注意事项
- 状态寄存器传送指令 —— 访问(读写)CPSR寄存器
- mybatis-day02-CRUD、动态代理开发、核心xml详解、输入输出参数
- QQ机器人思路理解(C++、CQ)
- win10 office activation tools