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