一、Objective-C中的字典(NSDictionary)
1.Objective-C中的字典(NSDictionary)
就是一个简单的key-value对,key相当于索引value相当于索引处的值,就像字典中拼音与文字的关系,字典里面的元素没有先后顺序,可以存放不同类型的数据,但不能是C语言的基本数据类型,这一点与数组相同。
2.Objective-C中字典创建
NSDictionary *dic = @{@"userName":@"pxd", @"pwd":@"123"};
NSDictionary *dic1 = [NSDictionary dictionaryWithObjectsAndKeys:@"pxd",@"name",@"123",@"pwd",nil];键值对必须是配对的
3.Objective-C中字典的一些操作
1.获取键值对的个数
dic1.count;
2.用key键访问字典里面某一个值
NSString *name = [dic1 valueForKey:@"name"];
3.获取字典所有的key
NSArray *keys = [dic1 allKeys];
4.获取字典所有的value
NSArray *values = [dic1 allValues];
5.遍历字典
for (NSString *key in keys){
NSLog(@"%@:%@", key, [dic1 objectForKey:key]);
}
6.添加键值对
[mDic setObject:@"pig" forKey:@"rongchang"];
[mDic setObject:@"fish" forKey:@"wanzhou"];
7.修改或添加键值对
[mDic setObject:@"Cow" forKey:@"rongchang"];//原key键存在时修改,不存在时添加
8.删除键值对
[mDic removeObjectForKey:@"123"];//删除key键为123的
[mDic removeAllObjects];//删除字典中所有键值对
二、NSNumber
NSNumber封装C语言的数据类型 int long char double float bool
例如:NSNumber *nb = [NSNumber numberWithInt:20];
三、NSValue
NSValue封装C语言的结构体和枚举
例如:NSRange range = NSMakeRange(0, 20);
struct CGRect {
CGPoint origin;
CGSize size;
};
struct CGPoint {
CGFloat x;
CGFloat y;
};
struct CGSize {
CGFloat width;
CGFloat height;
};
CGRect rect = CGRectMake(100, 100, 200, 150);
NSValue *rectValue = [NSValue valueWithRect:rect];
NSValue *structValue = [NSValue valueWithRange:range];
int age = [n1 intValue];
CGRect frame = [strValue rectValue];
NSNumber封装
NSValue封装
NSRange{
location,
length
}
CGPoint {
x,
y
}
CGSize{
width,
height
}
CGRect{
origin,
size
}
}