@property (readonly)NSUInteger count;
//1.利用指定的key寻找对应的value
– (id)objectForKey:(id)aKey;
//2. keyEnumerator得到一个字典的所有键值
– (NSEnumerator *)keyEnumerator;
//3.初始化字典
– (instancetype)initNS_DESIGNATED_INITIALIZER;
//4.条件编译根据不同情况来初始化字典
#if TARGET_OS_WIN32
– ([])keys count:(NSUInteger)cnt;
#else
– (<NSCopying> [])keys count:(NSUInteger)cntNS_DESIGNATED_INITIALIZER;
#endif
– (instancetype)initWithCoder:(NSCoder *)aDecoderNS_DESIGNATED_INITIALIZER;
@end
@interface NSDictionary (NSExtendedDictionary)
//5.数组所有key属性
@property (readonly,copy
//6.根据所填入的object返回对应所有的key键值
– (NSArray *)allKeysForObject:(id)anObject;
//7.属性 字典所有value
@property (readonly,copy
//8.属性字符串描述
@property (readonly,copy
//9.属性字符串描述文件格式
@property (readonly,copy) NSString *descriptionInStringsFileFormat;
//10.根据设置的locale进行连接数组
– (NSString *)descriptionWithLocale:(id)locale;
//11.根据设置的locale进行连接数组
– (NSString *)descriptionWithLocale:(id)locale indent:(NSUInteger)level;
//12.判断字典是否相等
– (BOOL)isEqualToDictionary:(NSDictionary *)otherDictionary;
//13.得到一个字典的所有values
– (NSEnumerator *)objectEnumerator;
//14.字典将某个特定的数组作为key值传进去得到对应的value,如果某个key找不到对应的key,就用notFoundMarker提前设定的值代替
– (NSArray *)objectsForKeys:(NSArray *)keys notFoundMarker:(id)marker;
dictionaryWithObjectsAndKeys:@"K1",@"V1",@"K2",@"V2",@"K3",@"V3",nil];
//NSArray *arr1=[NSArrayarrayWithObjects:@"V1",@"V2",@"VG",nil];
//NSArray *ARR= [dicobjectsForKeys
//,ARR);
//打印:
//2015-06-08 11:30:54.139 NSDictionary[1624:64989]测试测试(
//K1,
//BB,
//BB
//)
//15.将字典写进特定的路径path
– (BOOL)writeToFile:(NSString *)path atomically:(BOOL)useAuxiliaryFile;
)atomically;// the atomically flag is ignored if url of a type that cannot be written atomically.
//16.字典按照value的大小顺序来对keys键值进行排序(通过value排序,返回key集合)
– (NSArray *)keysSortedByValueUsingSelector:(SEL)comparator;
dictionaryWithObjectsAndKeys,nil];
//NSArray *arr2= [dic1keysSortedByValueUsingSelector:@selector(compare:)];
//,arr2);
//2015-06-08 14:41:59.152 NSDictionary[2749:117502]奇葩奇葩(
//A,
//B,
//C
//)
//17.
– ([])keys;
//18.
– (id)objectForKeyedSubscript:(id)keyNS_AVAILABLE(10_8,6_0);
//19.利用block对字典进行遍历
– (void)enumerateKeysAndObjectsUsingBlock:(void (^)(id key,id obj, BOOL *stop))blockNS_AVAILABLE(10_6,4_0);
//例子:
@"1",@"2",@"3"]@"one",@"two",@"three"]];
NSString *stopKey = @"two";
__block BOOL stopEarly =NO;
[dicenumerateKeysAndObjectsUsingBlock:^(id key,id obj, BOOL *stop) {
NSLog(@"%@,%@",key,obj);
//访问对象类型变量
if ([key isEqualToString:stopKey]) {
*stop =YES;
//访问__block表识的局部类型变量
stopEarly =YES;
//直接访问属性
@"self.name = tom");
;
}
}];
//输出:
2015-06-08 15:19:09.608 NSDictionary[3035:136164] one,1
2015-06-08 15:19:09.609 NSDictionary[3035:136164] two,2
2015-06-08 15:19:09.609 NSDictionary[3035:136164] self.name = tom
//20.同上一样利用block对字典进行遍历,不过加了排序的顺序选项options正反序
不论你在什么时候结束,重要的是结束之后就不要悔恨