1. 定义字典
NSDictionary *dict =[NSDictionary dictionaryWithObject:@"CDH" forKey:@"name"];
NSLog(@"%@", dict);
NSDictionary *dict =[NSDictionary dictionaryWithObjectsAndKeys:@"name", @"CDH",
@"age", @20, nil];
NSLog(@"%@", dict);
NSDictionary *dict = @{@"name":@"CDH", @"age":@20};
NSLog(@"%@", dict);
//swift:
//key一定要是可以hash的(String, Int, Float, Double, Bool)
//value没有要求
var dict = ["name":"CDH", "age":20]
print(dict)
var dict1:Dictionary = ["name":"CDH", "age":20]
print(dict1)
var dict2:Dictionary<String,AnyObject> = ["name":"CDH", "age":20]
print(dict2)
var dict3:[String:AnyObject] = ["name":"CDH", "age":20]
print(dict3)
var dict4:[String:AnyObject] =
Dictionary(dictionaryLiteral: ("name", "CDH"), ("age", 20))
print(dict4)
//输出结果:
//["age": 20, "name": CDH]
//["age": 20, "name": CDH]
//["age": 20, "name": CDH]
//["age": 20, "name": CDH]
//["age": 20, "name": CDH]
var dict5 = [:]
let dict6 = [:]
2. 字典操作
NSDictionary *dict = @{@"name":@"CDH", @"age":@20};
NSLog(@"%@", dict[@"name"]);
var dict7 = ["name":"CDH", "age":20]
print(dict7["name"]!)
NSMutableDictionary *dict =
[NSMutableDictionary dictionaryWithObjectsAndKeys:
@"name", @"CDH",
@"age", @20, nil];
dict[@"name"] = @"iversion";
NSLog(@"%@", dict[@"name"]);
NSMutableDictionary *dict =
[NSMutableDictionary dictionaryWithObjectsAndKeys:
@"name", @"CDH",
@"age", @20, nil];
[dict setObject:@"iversion" forKey:@"name"];
NSLog(@"%@", dict[@"name"]);
var dict8 = ["name":"CDH", "age":20]
dict8["name"] = "iverson"
print(dict8["name"]!)
var dict9 = ["name":"CDH", "age":20]
dict9.updateValue("iverson", forKey: "name")
print(dict9["name"]!)
var dict10 = ["name":"CDH", "age":25]
if let orignal = dict10.updateValue("iverson", forKey: "name"){
print(dict10["name"]!)
print(orignal)
}
var dict11 = ["name":"CDH", "age":25]
if let orignal = dict11.updateValue("iverson", forKey: "abc")
{
print(dict11["abc"]!)
print(orignal)
}
print(dict)
NSMutableDictionary *dict =
[NSMutableDictionary dictionaryWithObjectsAndKeys:
@"name", @"CDH",
@"age", @25, nil];
dict[@"height"] = @100;
NSLog(@"%@", dict);
NSMutableDictionary *dict =
[NSMutableDictionary dictionaryWithObjectsAndKeys:
@"name", @"CDH",
@"age", @30, nil];
[dict setObject:@200 forKey:@"height"];
NSLog(@"%@", dict);
//swift:
var dict12 = ["name":"CDH", "age":50]
dict12["height"] = 160;
print(dict12)
//输出结果: ["height": 160, "age": 50, "name": CDH]
NSMutableDictionary *dict =
[NSMutableDictionary dictionaryWithObjectsAndKeys:
@"CDH",@"name",
@30,@"age",nil];
[dict removeObjectForKey:@"name"];
NSLog(@"%@", dict);
NSMutableDictionary *dict =
[NSMutableDictionary dictionaryWithObjectsAndKeys:
@"CDH",@"name",
@30,@"age",nil];
[dict removeAllObjects];
NSLog(@"%@", dict);
var dict13 = ["name":"CDH", "age":10]
dict13.removeValueForKey("name")
print(dict13)
var dict14 = ["name":"CDH", "age":20]
if let orignal = dict14.removeValueForKey("names"){
print(dict14)
print(orignal)
}
print(dict)
var dict15 = ["name":"CDH", "age":30]
dict15.removeAll(keepCapacity: true)
NSMutableDictionary *dict =
[NSMutableDictionary dictionaryWithObjectsAndKeys:@"CDH",@"name",
@40,@"age",nil];
[dictenumerateKeysAndObjectsUsingBlock:^(idkey,idobj,BOOL*stop) {
NSLog(@"key = %@ value = %@", key, obj);
}];
NSMutableDictionary *dict =
[NSMutableDictionary dictionaryWithObjectsAndKeys:@"CDH", @"name",
@40, @"age", nil];
NSArray *keys = [dict allKeys];
for (NSString *key in keys) {
NSLog(@"%@", key);
}
NSMutableDictionary *dict =
[NSMutableDictionary dictionaryWithObjectsAndKeys:@"CDH", @"name",
@40, @"age", nil];
NSArray *keys = [dict allValues];
for (NSString *key in keys) {
NSLog(@"%@", key);
}
var dict16 = ["name":"CDH", "age":30]
for (key , value) in dict16{
print("key = \(key) value = \(value)")
}
var dict17 = ["name":"CDH", "age":40]
for key in dict17.keys{
print("key = \(key)")
}
var dict18 = ["name":"CDH", "age":50]
for value in dict18.values{
print("value = \(value)")
}