Objective-C中的字典(NSDictionary)及NSNumber、NSValue的介绍

一、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
             }
        }

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值