【深入浅出Objective-C】8.3字典(NSMutableDictionary)

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[])
{

    @autoreleasepool {
        NSDictionary *aDict = [NSDictionary dictionaryWithObject:@"value1" forKey:@"key1"];
        
        NSDictionary *bDict = [[NSDictionary alloc]initWithObjects:[NSArray arrayWithObjects:@"coooliang",@"20",@"fz", nil] forKeys:[NSArray arrayWithObjects:@"name",@"age",@"city", nil]];

        NSLog(@"aDict = %@",aDict);
        NSLog(@"bDict = %@",bDict);
        
        
        //此处使用objectForKey和valueForKey结果相同
        //键名不为NSString的时候,只能使用objectForKey,valueForKey键值只能是NSString
        id name = [bDict objectForKey:@"name"];
        if([name isKindOfClass:[NSString class]]){
            NSLog(@"objectForKey name = %@",name);
        }
        id age = [bDict valueForKey:@"age"];
        if([age isKindOfClass:[NSString class]]){
            NSLog(@"valueForKey age = %@",age);
        }
        
        //遍历
        NSEnumerator *aEnum = [bDict objectEnumerator];
        id oneObj = nil;
        
        while (oneObj = [aEnum nextObject]) {
            if([oneObj isKindOfClass:[NSString class]]){
                NSLog(@"%@",oneObj);
            }
        }
        
        //访问所有键名和值以及配合NSDictionary
        NSLog(@"allkey = %@",[bDict allKeys]);
        NSLog(@"allValue = %@",[bDict allValues]);
        
        //NSError *error = nil;
        //NSDictionary *fileDict = [[NSFileManager alloc]attributesOfFileSystemForPath:@"path" error:&error];
        
        //可变数组
        NSMutableDictionary *maDict = [NSMutableDictionary dictionaryWithCapacity:0];
        NSMutableDictionary *mbDict = [[NSMutableDictionary alloc]initWithObjects:[NSArray arrayWithObjects:@"a",@"b", nil] forKeys:[NSArray arrayWithObjects:@"va",@"vb", nil]];
        
        [maDict addEntriesFromDictionary:mbDict];
        [maDict setObject:@"c" forKey:@"vc"];
        NSLog(@"maDict = %@",maDict);

        [maDict removeAllObjects];
        NSLog(@"remove a %@",maDict);
        NSLog(@"remove after b %@",mbDict);
    }
    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值