OC类之 Dictionary

可怜

@property (readonly) NSUInteger count;                 // 键值对数


 NSDictionary :  

- (NSArray *)allKeysForObject:(id)anObject;                                     // 所有该对象的键值

+ (instancetype)dictionaryWithObject:(id)object forKey:(id <NSCopying>)key;     // 键值的对象


+ (instancetype)dictionaryWithObjectsAndKeys:(id)firstObject, ... ;                     // 便利构造器

+ (instancetype)dictionaryWithDictionary:(NSDictionary *)dict;

+ (instancetype)dictionaryWithObjects:(NSArray *)objects forKeys:(NSArray *)keys; 

 

- (instancetype)initWithObjectsAndKeys:(id)firstObject, ... ;                           // 初始化

- (instancetype)initWithDictionary:(NSDictionary *)otherDictionary;

- (instancetype)initWithObjects:(NSArray *)objects forKeys:(NSArray *)keys;


NSMutableDictionary :

- (void)removeObjectForKey:(id)aKey;                             // 删除

- (void)removeAllObjects;

- (void)removeObjectsForKeys:(NSArray *)keyArray;


- (void)setObject:(id)anObject forKey:(id <NSCopying>)aKey;      // 没有akey创建一个, 对应对象改成anObject

- (void)setDictionary:(NSDictionary *)otherDictionary;           // 设置器


数组可以嵌套字典 字典还可以嵌套数组

昨天的省市区继续

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

    NSString *filePath = @"/Users/dllo/Desktop/OC06_省市区字典数组/OC06_省市区字典数组/area-2.txt";
    NSString *mstring = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil];
    NSArray *mArray = [mstring componentsSeparatedByString:@"\n" ];
    NSCharacterSet *cSet = [NSCharacterSet characterSetWithCharactersInString:@" 0123456789"];
    NSMutableArray *proArray = [NSMutableArray array];
    NSMutableArray *cityArray = nil;
    NSMutableArray *areaArray = nil;
    for (NSString *s in mArray) {
        if (![s hasPrefix:@"  "]) {
            NSString *s1 = [s stringByTrimmingCharactersInSet:cSet];
            NSMutableDictionary *pDic = [NSMutableDictionary dictionary];
            cityArray = [NSMutableArray array];
            
            [pDic setObject:s1 forKey:@"name"];
            [pDic setObject:cityArray forKey:@"cityArray"];
            [proArray addObject:pDic];
        }
        if ([s hasPrefix:@"  "] && ![s hasPrefix:@"    "]) {
            NSString *s1 = [s stringByTrimmingCharactersInSet:cSet];
            areaArray = [NSMutableArray array];
            NSMutableDictionary *cDic = [NSMutableDictionary dictionary];
           
            [cDic setObject:s1 forKey:@"name"];
            [cDic setObject:areaArray forKey:@"areaArray"];
            [cityArray addObject:cDic];
        }
        if ([s hasPrefix:@"    "]) {
            NSString *s1 = [s stringByTrimmingCharactersInSet:cSet];
            
            [areaArray addObject:s1];
            
        }
    }
    for (NSDictionary *prodic in proArray) {
        NSLog(@"%@", prodic[@"name"]);
        NSArray* cArray = prodic[@"cityArray"];
        for (NSDictionary *cityDic in cArray) {
            NSLog(@"%@", cityDic[@"name"]);
            NSArray *rArray = cityDic[@"areaArray"];
            for (NSString *temp in rArray) {
                NSLog(@"%@", temp);
            }
        }
    }
    return 0;
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值