OC类之 Dictionary
2015-07-22 13:32
288 查看
@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;
}
相关文章推荐
- C#中Dictionary类使用实例
- Dictionary扩展基础类向字典中添加键和值
- asp dictionary对象的用法
- C# Dictionary的使用实例代码
- RadioButtonList绑定图片及泛型Dictionary应用
- C#中Dictionary的作用及用法讲解
- Python中dictionary items()系列函数的用法实例
- python中字典(Dictionary)用法实例详解
- o7_dictionary_accessibility的作用
- stardict 词典名
- python第七课词典
- NSDictionary
- A Better Way to Manage the Rails Secret Token
- JavaScript语法中的九个陷阱
- JavaScript中模拟 Dictionary键值对
- 黑马程序员---集合
- 我所不知道的php
- oracle常用sql语法集合
- 为什么普通用户可以看到其他用户创建dblink的密码?
- Oracle 表空间与数据文件