OC类之 Dictionary

来源:互联网 发布:菊水 清酒 知乎 编辑:程序博客网 时间:2024/06/05 00:54

可怜

@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;}



0 0