NSArray/NSDictionary/NSData/集合 20150407
NSArray/NSMutableArray
后者是对前者的继承,前者所有的功能后者都包含
NSMutableArray arrayWithCapacity
addObject
insertObject//注意插入位置,只能是在已有数据的范围之内
removeObject:@"a"//删除所有a
removeLastObject//删除最后一个
sortedArrayUsingSelector//返回值类型
sortUsingSelector//本身排序
BOOL
NSComparisonResult(NSNumber *obj1,NSNumber *obj2)
{
return [obj1 compare: obj2];
}
NSDictionary(字典,同java种map)/NSMutableDictionary
key-value,键值对
创建和初始化字典:键(可以为任意的oc对象类型,但一般用NSString,唯一,不能重复),值(任意的oc对象,可以相同)
NSDictionary *dict = @{
@"name1":@"zhangsan",
@"name2":@"lisi"
};
dict = [NSDictionary dictionaryWithObject(sAndKeys):@"value0",@"key0"(,@"value1",@"key1",)nil];
取字典的值:
NSLog(@"%@",dict[@"key1"]);
//用key取value,类似与数组
dict.count//键值对的个数
dict.allkeys/dict.allvalues
//遍历字典//enumrateKeysAndObjectsUsingBlock^
for(NSString *key in dict.allKeys)
{
NSLog(@"%@=%@",key,value);
}
//根据value排序的key数组
keysSortedByValueUsingSelector:@selector
NSData/NSMutableData,二进制数据
1.str->data(字符串转二进制)
NSString *str = @"hello";
NSData *data = [str dataUsingEncoding:NSUTF8StringEncoding];
2.data->str(二进制转字符串),注意(不是二进制能转换成所有的类型数据)
str = [[NSString alloc]] initWithData:data encoding:NSUTF8StringEncoding];
//NSJSONSerialization//(只有字典和数组才能生成或解析json)解析json,生成json
解析json:json/data->array,array->dictionary,dictionary->value
生成json:dictionary->data->NSString
集合:NSSet/NSMutableSet//触摸事件时用得最多
/**/无序,去掉重复的数据
取数据:
NSSet *set = [NSSet setWithObjects:@12,@12,@11,nil];
NSLog(@"%@",[s anyObject]);