----->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]);
}
快速枚举
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;