NSDictionary全部API的学习。

@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正反序

不论你在什么时候结束,重要的是结束之后就不要悔恨

NSDictionary全部API的学习。

相关文章:

你感兴趣的文章:

标签云: