A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© ios学者 中级黑马   /  2015-12-10 00:29  /  1315 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

有谁知道NSDictionary怎么用?

3 个回复

倒序浏览
!!!!!!
回复 使用道具 举报
#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        //创建字典
        //key和value值必须是对象
        NSDictionary *dict1 = [NSDictionary dictionary];
        NSDictionary *dict2 = [NSDictionary dictionaryWithObject:@"zhangsan" forKey:@"zs"];
        NSDictionary *dict3 = [NSDictionary dictionaryWithObjectsAndKeys:@"value1",@"k1",@"value2",@"k2", nil];
        NSLog(@"%@",dict1);
        NSLog(@"%@",dict2);
        NSLog(@"%@",dict3);
        //key值不能重复,重复不会报错-最后添加的不能保存到字典中
        NSDictionary *dict4 = @{@"zs":@"zhangsan",@"ls":@"lisi",@"bz":@"banzhang",@"zs":@"zhaosi"};
        NSLog(@"%@",dict4);
        NSLog(@"%lu",dict4.count);//获取字典长度
        NSString *s1 = [dict4 objectForKey:@"zs"];//根据key取出value值
        NSLog(@"%@",s1);
        //字典的遍历
//        for (NSString *key in dict4) {
//            NSLog(@"key = %@,value = %@",key,[dict4 objectForKey:key]);
//        }
        [dict4 enumerateKeysAndObjectsUsingBlock:^(id  _Nonnull key, id  _Nonnull obj, BOOL * _Nonnull stop) {
            NSLog(@"%@ = %@",key,obj);
        }];
    }
    return 0;
}
最经典的应用 lbs
#import <Foundation/Foundation.h>
void test1(){
    //简写定义字典
    NSDictionary *dict1 = @{@"zbz":@"zhangbozhi",@"cgx":@"chenguanxi",@"xzmly":@"hello"};
    //简写获取value
    NSLog(@"%@",dict1[@"zbz"]);
    //字典写入文件
    //        BOOL isWrite = [dict1 writeToFile:@"/users/donglizheng/Desktop/dict1.plist" atomically:YES];
    //        if (isWrite) {
    //            NSLog(@"写入成功");
    //        }
    NSDictionary *readDict1 = [NSDictionary dictionaryWithContentsOfFile:@"/users/donglizheng/Desktop/dict1.plist"];
    NSLog(@"%@",readDict1);
}
void test2(){
    NSArray *lnArr = [NSArray arrayWithObjects:@"dalian",@"shenyang", nil];
    NSArray *hbArr = [NSArray arrayWithObjects:@"baoding",@"shijiazhuang", nil];
    NSDictionary *citys = [NSDictionary dictionaryWithObjectsAndKeys:lnArr,@"ln",hbArr,@"hb", nil];
    NSLog(@"citys = %@",citys);
    [citys writeToFile:@"/users/donglizheng/Desktop/citys.plist" atomically:YES];
}
int main(int argc, const char * argv[]) {
    @autoreleasepool {
        NSDictionary *cityDict1 = [NSDictionary dictionaryWithContentsOfFile:@"/users/donglizheng/Desktop/citys.plist"];
        [cityDict1 enumerateKeysAndObjectsUsingBlock:^(id  _Nonnull key, id  _Nonnull obj, BOOL * _Nonnull stop) {
//            NSLog(@"key = %@,value = %@",key,obj);
            for (NSString *s1 in obj) {
                NSLog(@"city = %@",s1);
            }
        }];
        NSArray *lnArr = cityDict1[@"ln"];
        NSLog(@"%@",[lnArr lastObject]);
    }
    return 0;
}
回复 使用道具 举报
董立正 发表于 2015-12-10 18:36
#import

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

这仁兄说得对
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马