#import <Foundation/Foundation.h>
int main(int argc, const char * argv[])
{
@autoreleasepool {
NSDictionary *aDict = [NSDictionary dictionaryWithObject:@"value1" forKey:@"key1"];
NSDictionary *bDict = [[NSDictionary alloc]initWithObjects:[NSArray arrayWithObjects:@"coooliang",@"20",@"fz", nil] forKeys:[NSArray arrayWithObjects:@"name",@"age",@"city", nil]];
NSLog(@"aDict = %@",aDict);
NSLog(@"bDict = %@",bDict);
//此处使用objectForKey和valueForKey结果相同
//键名不为NSString的时候,只能使用objectForKey,valueForKey键值只能是NSString
id name = [bDict objectForKey:@"name"];
if([name isKindOfClass:[NSString class]]){
NSLog(@"objectForKey name = %@",name);
}
id age = [bDict valueForKey:@"age"];
if([age isKindOfClass:[NSString class]]){
NSLog(@"valueForKey age = %@",age);
}
//遍历
NSEnumerator *aEnum = [bDict objectEnumerator];
id oneObj = nil;
while (oneObj = [aEnum nextObject]) {
if([oneObj isKindOfClass:[NSString class]]){
NSLog(@"%@",oneObj);
}
}
//访问所有键名和值以及配合NSDictionary
NSLog(@"allkey = %@",[bDict allKeys]);
NSLog(@"allValue = %@",[bDict allValues]);
//NSError *error = nil;
//NSDictionary *fileDict = [[NSFileManager alloc]attributesOfFileSystemForPath:@"path" error:&error];
//可变数组
NSMutableDictionary *maDict = [NSMutableDictionary dictionaryWithCapacity:0];
NSMutableDictionary *mbDict = [[NSMutableDictionary alloc]initWithObjects:[NSArray arrayWithObjects:@"a",@"b", nil] forKeys:[NSArray arrayWithObjects:@"va",@"vb", nil]];
[maDict addEntriesFromDictionary:mbDict];
[maDict setObject:@"c" forKey:@"vc"];
NSLog(@"maDict = %@",maDict);
[maDict removeAllObjects];
NSLog(@"remove a %@",maDict);
NSLog(@"remove after b %@",mbDict);
}
return 0;
}
【深入浅出Objective-C】8.3字典(NSMutableDictionary)
最新推荐文章于 2019-07-07 02:43:01 发布